2.2.1 了解Tomcat版本的区别
当前Tomcat服务器主要包含Tomcat 10、Tomcat 9和Tomcat 8等版本。
1. Tomcat 10版本
Tomcat 10是较新版本,建立在Tomcat 9版本的基础之上。Tomcat 10及更高版本的用户应注意,作为从Java EE到Eclipse Foundation迁移的一部分,从Java EE迁移到Jakarta EE的结果是所有已实现API的主要软件包已从javax.*更改为jakarta.*,以使应用程序能够从Tomcat 9及更低版本迁移到Tomcat 10及更高版本。这包括以下功能改进:
(1)更新到Jakarta Servlet 5.0、Jakarta Server Pages 3.0、Jakarta Expression Language 4.0、Jakarta WebSocket 2.0、Jakarta Authentication 2.0和Jakarta Annotations 2.0规范。
(2)在conf/web.xml中使用和将默认请求及响应字符编码设置为UTF-8。
(3)删除HTTP/2 UpgradeProtocol元素上的HTTP/1.1配置重复项。
2. Tomcat 9版本
Tomcat 9建立在Tomcat 8版本的基础之上,符合Servlet 4.0规范,执行JSP 2.4、EL 3.1、Web Socket的1.2和JASPIC 1.1规格,包括以下功能改进:
(1)添加对HTTP / 2的支持(需要APR /本地库)。
(2)添加对TLS虚拟主机的支持。
(3)添加对使用JSSE连接器(NIO和NIO2)和使用OpenSSL for TLS支持的支持。
3. Tomcat 8版本
Tomcat 8建立在Tomcat 7版本的基础之上,是符合Servlet 3.1、JSP 2.3、EL 3.0和Web Socket的1.1规格的版本。除此之外,它在用单个公共资源实现来替换早期版本中提供的多个资源扩展特性方面做了重大改进。
4. Tomcat 7版本
Tomcat 7是Tomcat 6的改进版本,符合Servlet 3.0、JSP 2.2、EL 2.2和Web Socket的1.1规格。除此之外,它还包括以下改进:
(1)Web应用程序内存泄漏检测和预防。
(2)提高了Manager和Host Manager应用程序的安全性。
(3)通用CSRF保护。
(4)支持直接在Web应用程序中包含外部内容。
(5)重构(连接器,生命周期)和大量的内部代码清理。
5. Tomcat 6版本
Tomcat 6是Tomcat 5.5的改进版本,符合Servlet 2.5和JSP 2.1规范。除此之外,它还包括以下改进:
(1)内存使用优化。
(2)高级IO功能。
(3)重构聚类。
Tomcat是一个开源的Java Servlet的软件实现和Java Server Pages技术的服务器。不同版本的Tomcat可用于不同版本的Servlet和JSP规范。它们之间的映射规范和相应的Tomcat版本如表2-1所示。
表2-1 Tomcat版本映射表
每个版本的Tomcat支持任何稳定的Java版本,在选择版本时只要满足上面表格中最后一栏的要求即可。本书以Tomcat 10版本为例进行Tomcat服务器的搭建。