Apache Tomcat版本
的Apache Tomcat ®是一个开源软件实现了Java Servlet和JavaServer Pages技术。不同版本的Servlet和JSP规范可使用不同版本的Apache Tomcat。规范与相应的Apache Tomcat版本之间的映射 为:
Servlet规格 | JSP规范 | EL规格 | WebSocket规范 | 日本规格 | Apache Tomcat版本 | 最新发行版本 | 支持的Java版本 |
---|---|---|---|---|---|---|---|
4.0 | 2.3 | 3.0 | 1.1 | 1.1 | 9.0.x | 9.0.30 | 8及更高版本 |
3.1 | 2.3 | 3.0 | 1.1 | 1.1 | 8.5.x | 8.5.50 | 7及更高版本 |
3.1 | 2.3 | 3.0 | 1.1 | 不适用 | 8.0.x(已取代) | 8.0.53(已取代) | 7及更高版本 |
3.0 | 2.2 | 2.2 | 1.1 | 不适用 | 7.0.x | 7.0.99 | 6及更高版本 (WebSocket为7及更高版本) |
2.5 | 2.1 | 2.1 | 不适用 | 不适用 | 6.0.x(已归档) | 6.0.53(已归档) | 5及更高版本 |
2.4 | 2.0 | 不适用 | 不适用 | 不适用 | 5.5.x(已存档) | 5.5.36(存档) | 1.4及更高版本 |
2.3 | 1.2 | 不适用 | 不适用 | 不适用 | 4.1.x(已归档) | 4.1.40(已归档) | 1.3及更高版本 |
2.2 | 1.1 | 不适用 | 不适用 | 不适用 | 3.3.x(已存档) | 3.3.2(已存档) | 1.1及更高版本 |
满足上表最后一栏要求的任何稳定Java版本均支持每个版本的Tomcat。
Tomcat还应在满足上表最后一栏要求的任何Java抢先访问版本上工作。例如,在第一个稳定的Java 8发行版发布几个月之前,用户就已经在Java 8上成功运行了Tomcat 8。但是,早期访问版本的用户应注意以下几点:
- 最初的早期访问版本包含可能会导致在Tomcat上运行的Web应用程序出现问题的错误的情况并不少见。
- 如果新的Java版本引入了新的语言功能,则默认的JSP编译器可能不会立即支持它们。将JSP编译器切换到javac可以使这些新语言功能可以在JSP中使用。
- 如果您确实使用Java抢先体验版本发现问题,请 寻求帮助。Tomcat用户的邮件列表可能是最好的起点。
下面将详细介绍这些版本,以帮助您确定哪个版本适合您。有关每个发行版的更多详细信息,请参见相关的发行说明。
请注意,尽管我们提供旧版本的下载和文档,例如Apache Tomcat 7.x,但我们强烈建议用户尽可能使用最新的稳定版Apache Tomcat。我们认识到跨主要版本升级可能不是一件容易的事,并且邮件列表中仍为旧版本的用户提供了一些支持。但是,由于社区驱动的支持方法,您的版本越旧,感兴趣或能够支持您的人就越少。
Alpha / Beta /稳定
在对发布进行投票时,审阅者会指定他们认为已达到发布的稳定性级别。新主要版本的初始发行通常会在几个月内从Alpha到Beta到Stable进行处理。但是,只有在最终确定了发布实现的Java规范后,才能使用稳定级别。这意味着在所有其他方面都被认为是稳定的发行版,如果规格不是最终的,则仍可以标记为Beta。
下载页面将始终显示最新的稳定版本以及存在的任何较新的Alpha或Beta版本。Alpha和Beta版本始终在下载页面上明确标记。
稳定性是一个主观判断,您应始终仔细阅读要使用的任何版本的发行说明。如果您是版本的早期采用者,我们很乐意在投票中听到您对它的稳定性的看法:它在开发邮件列表中。
Alpha版本可能包含规范中要求的大量未经测试/缺少的功能和/或重大错误,并且预计不会在任何时间段内稳定运行。
Beta版本可能包含一些未经测试的功能和/或许多相对较小的错误。Beta版本预计不会稳定运行。
稳定版本可能包含少量相对较小的错误。稳定的版本旨在用于生产用途,并有望在更长的时间内稳定运行。
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规范(Java EE 8平台要求的版本)。除此之外,它还包括以下重要改进:
- 添加对HTTP / 2的支持(需要在Java 9上运行(自Apache Tomcat 9.0.0.M18起)或正在安装的Tomcat本机库)
- 添加了对将OpenSSL用于JSSE连接器(NIO和NIO2)的TLS支持的支持
- 增加了对TLS虚拟主机(SNI)的支持
Apache Tomcat 8.x
Apache Tomcat 8.0.x建立在Tomcat 7.0.x之上,并实现了 Servlet 3.1,JSP 2.3,EL 3.0 和WebSocket 1.1规范。除此之外,它还包括以下重要改进:
- 一个单一的公共资源实现,以替换早期版本中提供的多个资源扩展功能。
Apache Tomcat 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定位的Java EE规范)。
Tomcat 8.5被认为是Tomcat 8.0的替代品。请参阅 迁移指南,以获取有关迁移到Tomcat 8.5的指导。
Apache Tomcat 8.5.x包括以下重要改进:
- 添加对HTTP / 2的支持(需要Tomcat本机库)
- 添加了对将OpenSSL用于JSSE连接器(NIO和NIO2)的TLS支持的支持
- 增加了对TLS虚拟主机(SNI)的支持
Apache Tomcat 8.5.x中删除了以下技术:
- HTTP和AJP连接器的BIO实现
- 支持Comet API
引擎盖下许多区域发生了重大变化,从而提高了性能,稳定性和总拥有成本。有关详细信息,请参考Apache Tomcat 8.5更改日志。
Tomcat 8.0的用户应该意识到Tomcat 8.0现在已经 寿终正寝了。Tomcat 8.0.x的用户应升级到Tomcat 8.5.x或更高版本。
Apache官方对各版本的解释:http://tomcat.apache.org/whichversion.html