Apache Tomcat 11.0.27 介绍与选型指南
介绍 Apache Tomcat 11.0.27:三条维护线的版本基准与规格矩阵、Catalina/Coyote/Jasper 核心架构、快速上手与限制,并与 Eclipse Jetty、Undertow 就许可、stars、版本节奏与兼容矩阵做量化对比。
Apache Tomcat 11.0.27 介绍与选型指南
一、信息基准
| 项目 | 内容 |
|---|---|
| 查询日期 | 2026-10-18 |
| 本次介绍版本 | Apache Tomcat 11.0.27(最新主线稳定版,2026-10-12 发布) |
| 其他在维护线 | 10.1.61(2026-10-12 发布)、9.0.123(2026-10-12 发布) |
| 开源许可 | Apache License 2.0(官网首页原文:released under the Apache License version 2) |
版本基准表(三条维护线并行,数据取自官网 whichversion 页支持矩阵与首页发布公告,均为 2026-10-18 实查):
| 版本线 | 最新版 | Java 要求 | Servlet | JSP | EL | WebSocket | Authentication | 规格平台 |
|---|---|---|---|---|---|---|---|---|
| 11.0.x(稳定,当前开发重点) | 11.0.27 | 17 及以上 | 6.1 | 4.0 | 6.0 | 2.2 | 3.1 | Jakarta EE 11 |
| 10.1.x(稳定) | 10.1.61 | 11 及以上 | 6.0 | 3.1 | 5.0 | 2.1 | 3.0 | Jakarta EE 10 |
| 9.0.x(稳定,javax 命名空间) | 9.0.123 | 8 及以上 | 4.0 | 2.3 | 3.0 | 1.1 | JASPIC 1.1 | Java EE 8 |
生命周期备注:官网 whichversion 页明确「End of support for Tomcat 9.0.x is expected no earlier than 31 March 2027」,且 9.0.x 停止支持后将以新的 9.1.x 分支提供延伸支持(9.1.x 不再提供 APR/Native 连接器);10.0.x 已于 2022-10-31 停止支持;8.5.x 已于 2024-03-31 停止支持并归档。
官方来源清单:
| 来源 | 地址 | 用途 |
|---|---|---|
| 官网首页 | https://tomcat.apache.org/ | 三线最新版与发布日期公告 |
| 版本支持矩阵 | https://tomcat.apache.org/whichversion.html | 规格/JDK/EOL 矩阵 |
| ASF 发行目录 | https://downloads.apache.org/tomcat/ | tomcat-9/10/11 目录核验 |
| 官方文档 | https://tomcat.apache.org/tomcat-11.0-doc/ | 架构与使用文档 |
| GitHub 同步仓库 | https://github.com/apache/tomcat | 开发侧同步(官方发行渠道仍为官网与 ASF 目录) |
| Apache 项目主页 | https://projects.apache.org/project.html?tomcat | 项目与许可信息 |
版本依据说明:官网首页发布公告「2026-10-12 Tomcat 11.0.27 Released / 10.1.61 Released / 9.0.123 Released」;downloads.apache.org/tomcat/ 下 tomcat-9(最高 v9.0.123)、tomcat-10(最高 v10.1.61)、tomcat-11(最高 v11.0.27)三个目录与之一致;whichversion 表中 Latest Released Version 列亦为 11.0.27/10.1.61/9.0.123。数据交叉一致。
二、软件概述
本文介绍的是 Apache Tomcat 11.0.27(2026-10-12 发布的 11.0.x 主线最新稳定版),同时覆盖同日发布的 10.1.61 与 9.0.123 两条维护线。Apache Tomcat 是目前最主流的开源 Servlet/JSP 运行时引擎与 Web 服务器:官网首页自述其为「an open source software implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies」,即 Java Servlet、JSP、EL 与 WebSocket 技术的开源实现,是 Jakarta EE(原 Java EE)Web 层规范的事实参考实现之一,长期被 Spring Boot 等主流框架选为默认内嵌运行时。
Tomcat 由 Apache 软件基金会 Jakarta 项目发展而来,现为核心顶级项目之一,采用 Apache License 2.0 许可。截至查询日,其 GitHub 同步仓库(github.com/apache/tomcat)页面显示 8,260 个 stars(官方发行渠道仍为 tomcat.apache.org 与 ASF 发行目录,GitHub 仓库为开发侧同步用途)。三条维护线的并行策略清晰:11.0.x 面向 Jakarta EE 11 最新规格,10.1.x 面向 Jakarta EE 10 主流生产环境,9.0.x 面向 javax 命名空间的存量应用,并已公告 9.0.x 支持期截止不早于 2027-03-31。
三、核心架构
3.1 核心组件(依据官方文档 tomcat.apache.org/tomcat-11.0-doc/)
- Catalina:Servlet 运行时引擎,负责按 Servlet 规范装载与调度 Web 应用。
- Coyote:连接器框架,支持 HTTP/1.1、HTTP/2 与 AJP 等协议,负责请求的接收与解析(HTTP/2 与 TLS 能力随各版本演进)。
- Jasper:JSP 编译引擎,将 JSP 页面编译为 Servlet 执行。
- Cluster:会话复制与集群组件,支持多节点会话共享。 -Realm:用户、角色与安全认证的抽象层,可对接数据库、目录服务等多种后端。
3.2 配置层级
server.xml 定义 Server → Service → Connector → Engine → Host → Context 的层级结构:Connector 监听端口并交给 Engine,Engine 按虚拟主机(Host)路由到具体应用(Context);配套的 web.xml、context.xml 分别提供全局与应用级默认配置。这一模型在 9/10/11 三条线中保持一致(详见官方文档 architecture 章节与配置参考章节)。
3.3 规格与 JDK 对应关系
Tomcat 各主版本严格绑定其实现的 Servlet 规格与命名空间:11.0.x 实现 Servlet 6.1(Jakarta EE 11),10.1.x 实现 Servlet 6.0(Jakarta EE 10),9.0.x 实现 Servlet 4.0(Java EE 8,javax.* 命名空间);应用代码的 import 命名空间必须与所选版本线匹配(jakarta.* 对 10/11 线,javax.* 对 9 线),跨线迁移需使用官方 Jakarta EE Migration Tool(downloads.apache.org/tomcat/ 目录下的 jakartaee-migration 组件)。
四、功能特性
- 三线并行维护:新特性进 11.0.x,主流生产在 10.1.x,存量 javax 应用由 9.0.x 覆盖,升级路径清晰。
- HTTP/2 支持:Coyote 提供 HTTP/2 协议支持,可与 TLS 组合提升前端接入效率(官方 9.0.123 发布公告中亦提及 Tomcat Native 相关的 OpenSSL 支持变化)。
- 会话与集群:内置会话持久化、集群会话复制(Cluster 组件)。
- 安全体系:Realm 认证授权、SecurityManager、内置 Valve 管道可插入访问日志/访问控制等处理逻辑。
- 运维友好:JMX 管理接口、manager 应用(应用部署与会话管理)、静态资源默认缓存配置等(官方文档 manager 章节)。
- 嵌入式使用:可作为嵌入式运行时集成于应用内(Spring Boot 默认内嵌即为 Tomcat),亦提供独立发行包部署。
- 官方迁移工具:jakartaee-migration 工具辅助 javax → jakarta 字节码改写(ASF 发行目录分发,1.0.13 于 2026-10-05 发布)。
五、快速上手
以下步骤引自官方发行包约定与 RUNNING.txt 指引(本文未做本地实测)。
- 从官网下载页(tomcat.apache.org/download-11.cgi)或 ASF 发行目录获取 apache-tomcat-11.0.27.tar.gz 并解压:
tar xzf apache-tomcat-11.0.27.tar.gz
cd apache-tomcat-11.0.27
- 启动与停止(发行包内 RUNNING.txt 与 bin/ 脚本,Windows 用 .bat):
bin/startup.sh # 启动,默认监听 8080
bin/shutdown.sh # 停止
- 验证与部署:浏览器访问 http://localhost:8080/ 看到默认首页即运行正常;将自己的应用 WAR 放入 webapps/ 目录即自动部署。开发期可用 bin/catalina.sh run 前台运行观察日志。完整文档见 https://tomcat.apache.org/tomcat-11.0-doc/ 。
六、适用场景与限制
适用场景:
- 传统 WAR 应用部署:Spring MVC/Boot(外置部署)、Struts、JSF 等以 Servlet 规范为基的应用首选运行时。
- 内嵌运行时:Spring Boot 默认内嵌 Tomcat,微服务无需单独安装即可随应用交付。
- 反向代理后端:与 Nginx 等组合承担动态请求处理,是业界最常见的前后端组合。
- 多虚拟主机与中小规模集群:Host 级多站点托管 + Cluster 会话复制满足常规企业需求。
限制:
- 不是完整 Jakarta EE 平台:不含 EJB、JMS、JPA 等(需完整 EE 平台应选 TomEE 或其他应用服务器)。
- 9.0.x 支持期已公告不早于 2027-03-31 结束,javax 存量应用应规划向 10.1.x/11.0.x 的迁移。
- 各版本线 JDK 要求不同(17+/11+/8+),升级版本线时需同步升级 JDK 并处理命名空间变更。
- 单机默认配置面向通用场景,超高并发需按官方文档调优连接器与线程池参数。
七、同类选型对比
以下对比项的 stars 数为 2026-10-18 通过各自 GitHub 仓库页面实查,版本与日期取自各项目官方 releases.atom 或官网发布页。
| 维度 | Apache Tomcat 11.0.27 | Eclipse Jetty 12.1.14 | Undertow 2.4.4.Final |
|---|---|---|---|
| 开源许可 | Apache-2.0 | EPL-2.0(仓库 LICENSE 文件) | Apache-2.0 |
| GitHub stars(2026-10-18 实查) | 8,260 | 4,099 | 3,759 |
| 最近发版 | 11.0.27 / 10.1.61 / 9.0.123(均 2026-10-12,三线同日发版) | 12.1.14(2026-10-05) | 2.4.4.Final(2026-10-02) |
| 版本节奏 | 三条稳定线高频补丁,多年持续维护 | 主线月度级发布,多版本线并行(EE 10/11 分线) | 稳定线滚动补丁 |
| 兼容/能力矩阵 | Servlet 6.1/6.0/4.0 三线全覆盖,独立部署与嵌入式皆可,生态兼容性最广,Spring Boot 默认内嵌 | Servlet 6.1(Jetty 12 EE 11 分线),以嵌入式见长,异步模型成熟,Eclipse 系 | Servlet 6.1(Undertow 2.4.x/新分支),WildFly 底层引擎,以低开销高吞吐见长,XNIO 非阻塞 IO |
选型建议:追求生态兼容性与团队熟悉度、或运行传统 WAR 与 Spring Boot 应用,Tomcat 11.0.27(或按 JDK/命名空间约束选 10.1.x/9.0.x)仍是默认稳妥之选;以嵌入式、异步与轻量部署为重可选 Jetty;极致吞吐与低内存占用且熟悉 WildFly 体系可评估 Undertow。
八、参考链接
- 官网:https://tomcat.apache.org/
- 版本支持矩阵:https://tomcat.apache.org/whichversion.html
- 下载页(11.0.x):https://tomcat.apache.org/download-11.cgi
- ASF 发行目录:https://downloads.apache.org/tomcat/
- 11.0.x 官方文档:https://tomcat.apache.org/tomcat-11.0-doc/
- GitHub 同步仓库:https://github.com/apache/tomcat
- Apache 项目主页:https://projects.apache.org/project.html?tomcat
- Jakarta EE 迁移工具:https://downloads.apache.org/tomcat/jakartaee-migration/