Tomcat 的整体架构?
发布于
一、核心组件
- Server:Tomcat 顶层容器,管理 Service 生命周期。
- Service:包含 Connector 和 Engine,一个 Tomcat 可有多个 Service。
- Connector:连接器,监听端口,接收请求并转换为 Request,如 HTTP/1.1、AJP。
- Engine:引擎,处理请求,包含多个 Host。
- Host:虚拟主机,包含多个 Context。
- Context:Web 应用,一个 Context 对应一个部署的应用。
- Wrapper:Servlet 封装,一个 Wrapper 对应一个 Servlet。
二、请求处理流程
- Connector 接收 HTTP 请求,生成 Request 和 Response。
- Engine 选择 Host,Host 选择 Context(根据 URL 路径)。
- Context 选择 Wrapper(根据 Servlet 映射)。
- Wrapper 调用 Servlet 的 service 方法。
- 响应沿原路返回。
三、类加载器
Tomcat 打破双亲委派:WebappClassLoader 先自己加载,找不到再委托父加载器,保证各 Web 应用隔离。