Java应用服务器-Tomcat
Tomcat 服务器是一个免费的开放源代码的Java Web应用服务器。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定、而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.
Apache Tomcat is developed in an open and participatory environment and released under the Apache License version 2. Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here.
Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.
Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation.
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过Tomcat处理静态HTML的能力不如Apache服务器。
最新版本:8.0
此版本包括之前版本的大量的 bug 修复,同时也包括许多功能增强和改进。最值得关注的特性如下:
- 修复了一个 Contexts 被重载时候包含和转发处理的回退问题
- 扩展了 Session ID 生成
- 扩展支持 permessage-deflate 的扩展,进行服务器端输出消息压缩
最新版本:10.0
v10.0.x 系列的目标平台是 Jakarta EE 9。官方在2021年4月表示,Tomcat 10 及更高版本的用户应注意,作为从 Java EE 迁移到 Eclipse Foundation 的的一部分,从 Java EE 迁移到 Jakarta EE 的结果是所有已实现 API 的主要软件包已从 javax. 改为 jakarta.,因此部分项目会需要更改代码,以使应用程序能够从 Tomcat 9 及更低版本迁移到 Tomcat 10 及更高版本。官方表示正在开发一种迁移工具来辅助此过程。与 10.0.4 相比,显著的变化包括:
修复了 10.0.4 中的回归,这意味着异步读取期间的错误破坏了与同一请求实例关联的所有将来的异步读取;
防止对 ServletInputStream.isReady() 的并发调用破坏输入缓冲区;
将 Tomcat Native 的打包版本更新为 1.2.27,以获取使用 OpenSSL 1.1.1k 构建的二进制文件。
更多详情可查看这里。
最新版本:11.0
v11.0 现已于2024年10月中旬发布,该版本针对 Jakarta EE 11。公告提醒称:Tomcat 10 及以后版本的用户应注意,作为 Java EE 向 Eclipse 基金会转移的一部分,Java EE 已从 Java EE 迁移到 Jakarta EE,因此所有已实施 API 的主包已从javax.* 变为 jakarta.*。这几乎肯定需要修改代码才能使应用程序从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。为此,官方提供了一个迁移工具。
此版本中值得注意的变化有:
WebDAV 的多项修复和改进
改进最近为 HTTP/2 添加的 request/response recycling
提高 Tomcat Native 在 GC 期间的稳定性
这些更改以及所有其他更改的完整详细信息均可在发行公告中找到。
项目主页:http://tomcat.apache.org/