Tomcat 的整体架构?

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。

二、请求处理流程

  1. Connector 接收 HTTP 请求,生成 Request 和 Response。
  2. Engine 选择 Host,Host 选择 Context(根据 URL 路径)。
  3. Context 选择 Wrapper(根据 Servlet 映射)。
  4. Wrapper 调用 Servlet 的 service 方法。
  5. 响应沿原路返回。

三、类加载器

Tomcat 打破双亲委派:WebappClassLoader 先自己加载,找不到再委托父加载器,保证各 Web 应用隔离。