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

来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:24:59

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

新版本的Tomcat实现了很多新规范,包括Servlet 3.0JSP 2.2EL 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。