写点什么

Tomcat 7 Beta 开始支持 Servlet 3.0、升级了安全性并提升了操作的友好性

  • 2010-07-09
  • 本文字数:1324 字

    阅读完需:约 4 分钟

近日,Apache 软件基金会发布了 Tomcat Web 服务器 7.0 Beta 版,这也是 3 年多以来首次发布的新版本。新版本的开发时间持续了 18 个月,现在各位读者可以从Apache 软件基金会的Tomcat 项目站点上下载

新版本的Tomcat 实现了很多新规范,包括 Servlet 3.0 JSP 2.2 EL 2.2 。对 Servlet 3.0 的支持也宣告世界上使用最广泛的 Java Web 容器已经与最新的 Servlet 规范(Java EE 6 规范的一部分)与时俱进了。Servlet 3.0 进行了很多增强(比如说 API 已经得到了增强)并引入了众多新特性,旨在简化开发者的工作量,可以更快速地构建可伸缩的应用。 Servlet 3.0 规范的一个关键特性就是对标准的(从技术角度来看,Tomcat、Jetty 等容器已经通过非标准的 API 实现了这些特性)异步 HTTP 请求与响应的支持。规范描述了文件上传的后端支持、这样就无需使用像 Apache Commons File Upload 组件等第三方程序库了。

规范还支持动态配置 Web 应用,这将产生深远的影响。可以通过注解来构造 Web 层(如 Servlet),这样就无需再使用 WEB-INF/web.xml 部署描述符文件了。此外,新的规范还定义了一个 API,通过这个 API 能够在运行期以编程的方式将 Servlet、Filter 注册到容器中。Web Fragments 的出现允许第三方程序库拥有自己的 web.xml 描述符文件,配置会加到 Web 应用的主 web.xml 文件中。比如说,可以将某个 Web 框架的 jar 文件直接放到应用的 WEB-INF/lib 目录下,容器会自动完成配置。

Tomcat 7 增加了对 Session 定位(fixation)攻击的防护措施。所谓 Session 定位攻击,就是强制将客户端的 Session ID 修改为明确的已知值。此外,Tomcat 7 还支持 SSL Session 跟踪,对各种访问机制(比如 JMX、Web、脚本访问等)提供更加细粒度的访问许可。

对于那些想要嵌入式容器的开发者来说,新版本的 Tomcat 7 提供了更大的灵活性;它公开了一个轻量级的 API 用于将容器嵌入到客户端代码中。除此之外,Tomcat 7 所需的 jar 文件更少,这样就可以根据需要构建 Tomcat 了。

此次发布还简化了服务器的管理工作,支持异步的日志线程,可以独立于请求 / 响应管道将其写到日志中。Tomcat 7 对内存泄漏的预防、识别与查找提供了极佳的支持,这种支持关键在于 Tomcat 7 改进的类装载器和 JreLeakPreventionListener 类。Tomcat 7 首度支持“aliases”,这非常类似于 Apache 服务器的同名特性。凭借这个特性,Tomcat 中的应用可以看到外部资源的内容,就像文件系统一样。

最后要说的是,Tomcat 7 并不支持 Java EE 6 web-profile。Java EE 6 web profile 定义了整个 Java EE 规范的一个子集,主要面向 Web 应用。若想了解关于 Java EE 6 规范、尤其是 web profile 规范的更多信息,请查看 Java EE 6 Platform 草案中的 Web Profile 章节。从概念上来说,这么做可以减少应用服务器厂商维护完整的向后兼容性的负担。Java EE 6 web profile 对于那些想要获得认证的 Servlet 容器来说是很理想的选择。 Simple Web Profile Application Server 项目就旨在通过 Apache 软件基金会自己的组件构建一个兼容于 Java EE 6 web-profile 的服务器,其基础则是 Apache Tomcat 7。

查看英文原文: Tomcat 7 Beta Debuts Servlet 3.0 Support, Security Upgrades and Operations-Friendly Updates

2010-07-09 21:231921
用户头像

发布了 88 篇内容, 共 259.6 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

极光开发者周刊【No.0521】

极光JIGUANG

2021年中国信创生态报告发布 指引未来信创产业发展

融云 RongCloud

Kubernetes 普及系列:容器基础入门

CODING DevOps

Kubernetes

阿里云原生开源大家族加入中科院软件所开源软件供应链点亮计 - 暑期 2021

阿里巴巴云原生

开源 容器 微服务 开发者 云原生

「技术人生」第2篇:学会分析事物的本质

阿里巴巴中间件

技术 工具 技术人 技术人生 一号位

Spark知识点简单总结

五分钟学大数据

大数据 spark 5月日更

Hive窗口函数与分析函数

大数据技术指南

hive 5月日更

推荐计划 | 推荐好友用 CODING,获高额返现奖励

CODING DevOps

团队管理 敏捷开发 研发工具 开发团队

M1 Dock智能硬件环境搭建(MaixPy安装及使用)

不脱发的程序猿

人工智能 开发板 智能硬件 AIOT M1 Dock

MindSpore:不用摘口罩也知道你是谁

华为云开发者联盟

算法 人脸识别 口罩 mindspore 口罩人脸

我粉了!阿里大牛从内部带出来的百亿级高并发系统,从基础到实战、面面俱到

Java 程序员 架构 面试

程序员写好技术文章的几点小技巧

阿里巴巴云原生

程序员 云原生 写作 写作技巧

做一次黑客,入侵一次服务器

叫我阿柒啊

Docker 入侵 docker远程 redis注入

ETL-KETTLE工具使用

this

Java 数据 数据同步 ETL

仰望天空,脚踏实地 —— CODING OKR 全新上线

CODING DevOps

团队管理 OKR

阿里P9架构师强烈推荐:想拿60W以上年薪必看,Java高并发四套小册。

Java架构追梦

Java 阿里巴巴 架构 面试 高并发

并发王者课 - 青铜 3: 双刃剑-理解多线程带来的安全问题

MetaThoughts

Java 多线程 并发 王者并发课

每个开发人员都应该知道的 10 个 GitHub 仓库

LeanCloud

GitHub web开发

部署混合云环境的5大挑战

浪潮云

云计算

记十亿级Es数据迁移mongodb成本节省及性能优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

iOS面试--拼多多最新iOS开发面试题

一意孤行的程序员

ios swift 面试 ios开发 知识分享

参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!

阿里巴巴云原生

开源 开发者 云原生 dubbo 中间件

飞猪基于 Serverless 的云+端实践与思考

阿里巴巴云原生

Serverless 容器 运维 云原生 监控

Nginx的11个执行阶段详解

运维研习社

nginx 运维 源码剖析 5月日更

首届HarmonyOS开发者创新大赛颁奖典礼于深圳召开

科技汇

玩转直播系列之消息模块演进(3)

vivo互联网技术

Java 服务器 消息系统 直播技术

高级软件工程师必备的五大技能

架构精进之路

5月日更

「DataPipeline」完成数千万B轮融资,加速构建中国的世界级数据中间件产品

DataPipeline数见科技

融资

2021 DevOpsDays 东京站完美收官 | CODING 专家受邀分享最新技术资讯

CODING DevOps

DevOps CI/CD

字节跳动Java岗一二三面全经过分享

北游学Java

Java 字节跳动 面试

百度 Serverless 架构揭秘与应用实践

百度开发者中心

百度 开源 Serverless 云原生

Tomcat 7 Beta开始支持Servlet 3.0、升级了安全性并提升了操作的友好性_Java_Josh Long_InfoQ精选文章