Tomcat 是最常用的 Servlet 容器,负责把 HTTP 请求翻译成 Servlet 调用并返回响应。理解它的架构(Connector + Container)、类加载器体系和线程模型,是排查「请求卡住」「线程打满」「类冲突」这类线上问题的基础。Spring Boot 内嵌的默认容器就是 Tomcat。
1. 整体架构:Server / Service / Connector / Container
Tomcat 的组件是层层嵌套的树形结构:
| 组件 | 职责 |
|---|---|
| Server | 最顶层,代表整个 Tomcat 实例,管理多个 Service |
| Service | 把 Connector 与一个 Engine 组合起来 |
| Connector | 负责连接与协议:接收网络字节、按 HTTP 解析、交给容器 |
| Engine | 容器顶层,处理它收到的所有请求 |
| Host | 虚拟主机,按域名路由(如 localhost) |
| Context | 一个 Web 应用(一个 WAR/部署单元) |
| Wrapper | 对单个 Servlet 的封装,是容器的最底层 |
2026/10/11大约 7 分钟