Apache Tomcat 版本说明

一、Tomcat介绍

参考官方文档:https://tomcat.apache.org/whichversion.html

注意:因为版本信息有失效性,本文记录时间为2021年1月20号,本文只是对官方说明的翻译以及添加自己的理解,请以官方文档为准

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,其为开源的、免费的,在应用服务器市场上占有较高的使用率。

不同版本的Tomcat要求符合不同版本的规范,Tomcat和相应规范映射关系如下:

image

目前较为常用的为7/8/9三个大版本,之前版本已经不建议使用,最新的10.0版本还处于Beta版本,不建议在生产环境使用。Apache建议使用最新的稳定版本。

如今,Tomcat各个大版本是同步更新的,如果无特殊需求,建议升级到指定大版本下的最新小版本即可。

二、版本类型(Alpha / Beta / Stable

Alpha 版本可能包含规范要求的大量未测试/缺失的功能和/或重大错误。

Beta 版本可能包含一些未经测试的功能或一些相对较小的错误。

Stable 稳定版本可能包含少量相对较小的 bug。适合生产使用,能够长时间稳定运行。

三、版本号介绍
Apache Tomcat 10.x

Apache Tomcat 10.x 是当前开发的焦点。它基于 Tomcat 9.0.x,实现了 Servlet 5.0、 JSP 3.0、 EL 4.0、 WebSocket 2.0和认证2.0规范(Jakarta EE 9平台要求的版本)。

Apache Tomcat 9.x

Apache Tomcat 9.x 是当前开发的焦点。它基于 Tomcat 8.0. x 和8.5. x,实现了 Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1和 JASPIC 1.1规范(javaee 8平台所需的版本)。除此之外,它还包括以下重大改进:

添加对 HTTP/2的支持(要求在 java9上运行(从Apache Tomcat 9.0.0. M18开始)或安装Tomcat Native库。

使用 JSSE 连接器(NIO 和 NIO 2)添加对使用 OpenSSL 支持 TLS 的支持

添加对 TLS 虚拟主机(snl)的支持

Apache Tomcat 8.x

8.0.x 基于 Tomcat 7.0.x,实现了 Servlet 3.1、 JSP 2.3、 EL 3.0和 WebSocket 1.1规范。除此之外,它还包括以下重大改进:

一个单一的公共资源实现,用于替换早期版本中提供的多个资源扩展特性

8.5. x 支持与 Apache Tomcat 8.0. x 相同的 Servlet、 JSP、 EL 和 WebSocket 规范版本。除此之外,它还实现了 JASPIC 1.1规范。它创建于2016年3月,是 Tomcat 9.0.0的一个分支。M4(alpha)里程碑版本。它提供了来自 Tomcat 9.x 代码库的 HTTP/2支持和其他特性,同时兼容 Tomcat 8.0的运行时和规范要求。(当时无法创建 Tomcat 9.0的稳定版本,因为 Tomcat 9所针对的 javaee 规范在几年后才最终定稿)。8.5被认为是 Tomcat 8.0的替代品。有关迁移到 Tomcat 8.5的指导,请参阅迁移指南。

8.5. x 包含以下重大改进:

添加对 HTTP/2的支持(需要Tomcat Native库)

使用 JSSE 连接器(NIO 和 NIO 2)添加对使用 OpenSSL 支持 TLS 的支持

添加对 TLS 虚拟主机(snl)的支持

8.5. x 中删除了以下技术:

HTTP 和 AJP 连接器的 BIO 实现

对 Comet API 的支持

Tomcat 8.0的用户应该意识到 Tomcat 8.0已经走到了生命的尽头。8.0. x 的用户应该升级到 Tomcat 8.5. x 或更高版本。

Apache Tomcat 7.x

7. x 基于 Tomcat 6.0. x 的改进,实现了 Servlet 3.0、 JSP 2.2、 EL 2.2和 WebSocket 1.1规范。除此之外,它还包括以下改进:

Web 应用程序内存泄漏检测和预防

改进了 Manager 和 hostmanager 应用程序的安全性

通用 CSRF 保护

支持在 web 应用程序中直接包含外部内容

重构(连接器、生命周期)和许多内部代码清理

Tomcat 7的用户应该知道,Tomcat 7已经宣告了生命的终结。7. x 的用户应该升级到 Tomcat 8.5. x 或更高版本。

Apache Tomcat 6.x

Apache Tomcat 6.x 基于 Tomcat 5.5. x 的改进,实现了 Servlet 2.5和 JSP 2.1规范。除此之外,它还包括以下改进:

内存使用优化

高级 i/o 功能

重构的集群

Tomcat 6的用户应该意识到,Tomcat 6现在已经到了生命的尽头。6. x 的用户应该升级到 Tomcat 7. x 或更高版本。

Apache Tomcat 5.x

5.5. x 支持与 Apache Tomcat 5.0. x 相同的 Servlet 和 JSP 规范版本。在引擎盖之下的许多领域有显著的变化,导致改进的性能、稳定性和总拥有成本。详情请参阅 Apache Tomcat 5.5 Changelog。

5.0. x 在很多方面改进了 Apache Tomcat 4.1,包括:

性能优化和减少垃圾收集

重构的应用程序部署器,带有一个可选的独立部署器,允许验证和编译 web 应用程序,然后将其投入生产

使用 JMX 和管理器 web 应用程序完成服务器监视

可伸缩性和可靠性增强

改进的 Taglibs 处理,包括高级的池和标记插件

改进平台集成,使用原生 Windows 和 Unix 包装器

增强的安全管理器支持

综合会话集群

扩充文件

Tomcat 5的用户应该知道,Tomcat 5现在已经到了生命的尽头。5. x 的用户应该升级到 Tomcat 7. x 或更高版本。

Apache Tomcat 4.x

Apache Tomcat 4.x 实现了一个基于全新架构的新 servlet 容器(称为 Catalina)。4.x 版本实现了 Servlet 2.3和 JSP 1.2规范。

4.1. x 是对 Apache Tomcat 4.0. x 的重构,包含重要的增强功能,包括:

基于 JMX 的管理特性

基于 JSP 和 Struts 的管理 web 应用

新的 Coyote 连接器(HTTP/1.1、 ajp1.3和 JNI 支持)

重写 Jasper JSP 页面编译器

性能和内存效率的提高

与开发工具集成的增强的管理器应用程序支持

自定义Ant任务,以便直接从生成.xml脚本

4.0. x.Apache:Tomcat 4.0.6是老版本的产品质量版本。4.0 servlet 容器(Catalina)是为灵活性和性能而从头开发的。版本4.0实现了 Servlet 2.3和 JSP 1.2规范的最终版本。按照规范的要求,Apache Tomcat 4.0也支持为 Servlet 2.2和 JSP 1.1规范构建的 web 应用程序,而且没有任何变化。

Tomcat 4的用户应该意识到 Tomcat 4已经走到了生命的尽头。4. x 的用户应该升级到 Tomcat 7. x 或更高版本。

Apache Tomcat 3.x

所有的 Apache Tomcat 3. x 版本都追溯到 Sun 捐赠给 Apache软件基金会的最初的 Servlet 和 JSP 实现。3.x 版本都实现了 Servlet 2.2和 JSP 1.1规范。

3.3. x.版本3.3.2是当前生产质量版本。它继续进行3.2版本中开始的重构,并将其推向合乎逻辑的结论。版本3.3提供了更加模块化的设计,并允许通过添加和删除控制 servlet 请求处理的模块来定制 servlet 容器。这个版本还包含许多性能改进。

3.2. x.自3.1以来,版本3.2增加了一些新特性; 主要的工作是重构内部构件,以提高性能和稳定性。3.2.1的发布和3.1.1一样,是一个安全补丁。版本3.2.2修复了大量的 bug 和所有已知的规范遵从问题。3.2.3版本是一个关闭严重安全漏洞的安全更新。版本3.2.4是一个较小的 bug 修复版本。3.2.3之前的 Apache Tomcat 版本的所有用户都应该尽快升级。除了修复关键的安全相关错误之外,Apache Tomcat 3.2. x 分支的开发已经停止。

3.1. x.这个3.1版本对 Apache Tomcat 3.0做了一些改进,包括 servlet 重载、 WAR 文件支持以及为 IIS 和 Netscape web 服务器添加连接器。最新的维护版本3.1.1包含了针对安全问题的修复。Apache Tomcat 3.1. x 没有进行中的活动开发。Apache Tomcat 3.1的用户应该升级到3.1.1来关闭安全漏洞,并强烈鼓励他们迁移到当前的产品版本 Apache Tomcat 3.3。

Apache Tomcat 3.0.x最初的Apache Tomcat版本。

posted on 2021-01-20 14:44  jingkunliu  阅读(7351)  评论(0编辑  收藏  举报

导航