【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:231894
用户头像

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

关注

评论

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

高质量的缺陷分析:让自己少写 bug

阿里技术

技术管理 技术人生 内容合集

技术三板斧:关于技术规划、管理、架构的思考

阿里技术

技术管理 技术人生 内容合集

拍乐云发布“融合语音通话”产品,实现多场景下VoIP和PSTN互通

拍乐云Pano

RTC PSTN VoIP 融合语音通话

在阿里,我如何做好技术项目管理?

阿里技术

技术管理 技术人生 内容合集

MySQL从入门到入魔之数据库连接池(04)

海拥(haiyong.site)

MySQL 数据库 28天写作 12月日更

Python代码阅读(第71篇):检测一个平坦列表中是否有重复元素

Felix

Python List 编程 阅读代码 Python初学者

一周信创舆情观察(12.13~12.19)

统小信uos

Linux云计算有那么难学吗?Linux入门篇。系统常用函数的调用方法大全

学神来啦

MySQL nginx Linux Shell linux云计算

RPA的定义

金小K

RPA 自动化 自动化平台 自动化运维

如何成为优秀的技术主管?你要做到这三点

阿里技术

技术管理 技术人生 内容合集

毕业10年才懂,会升层思考,工作有多轻松?

阿里技术

技术管理 技术人生 内容合集

优秀工程师必备的一项技能,你解锁了吗?

阿里技术

技术管理 技术人生 内容合集

一文带你了解什么是GitOps

华为云开发者联盟

DevOps 运维 测试 软件开发 gitops

7 个建议让 Code Review 高效又高质

阿里技术

技术管理 技术人生 内容合集

在阿里做了五年技术主管,我有话想说

阿里技术

技术人生 内容合集

EasyRecovery的高级设置如何使用

淋雨

数据恢复 EasyRecovery

华为超大云数据中心落地贵州,这些硬核技术有利支撑“东数西算”

华为云开发者联盟

服务器 数据中心 华为云 东数西算 云数据中心

【浅谈黑客与学习思路】黑客的种类和行为,初学者应该怎样学习

H

黑客 网络安全 信息安全

揭开神秘面纱,如何组织一次分布式压测

博睿数据

为企业创建完美CRM系统策略

低代码小观

企业管理 CRM 客户关系管理 CRM系统 客户关系管理系统

关于写文章的一点经验

阿里技术

技术管理 技术人生 内容合集

百度API接口智能化测试探索与实践

百度开发者中心

自动化测试 API测试 智能化测试

自用学习资料,Linux内核之【内存管理】的一些分享

奔着腾讯去

内存泄露 C/C++ Linux内核 内存映射 内存池

互联网时代,谁来保护我们的个人隐私信息?

郑州埃文科技

数据库 App IP 个人信息

CSS之变量(四)悬浮跟踪按钮

Augus

CSS 12月日更

架构实战-模块七-作业

无名

架构实战营 「架构实战营」

如何提高一个研发团队的“代码速度”?

阿里技术

技术管理 技术人生 内容合集

Typora + picGo实现插入图片上传gitee图床

zdd

为什么大部分人做不了架构师?这2点是关键

阿里技术

技术人生 内容合集

面对复杂业务,if-else coder 如何升级?

阿里技术

技术人生 内容合集

OPPO大数据离线任务调度系统OFLOW

安第斯智能云

后端 数据

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