说说Tomcat的模块架构

Tomcat 是一个 Web 容器,包含 HTTP 服务器 + Servlet 容器。
 
Web 容器的两个核心功能:

  • 处理 Socket 连接,处理网络字节流与 Request 和 Response 对象的转化
  • 加载和管理 Servlet,处理 Request 请求

Tomcat 的两个核心组件连接器(Connector)和容器(Container)来分别做这两件事情。连接器负责对外连接,容器负责内部对请求的处理。


Tomcat 的核心模块:

  • Server:Catalina Servlet 容器。Tomcat 提供了 Server 接口的一个默认实现,通常不需要用户自己去实现。在 Server 容器中,可以包含一个或多个 Service 组件。
  • Service:存活在 Server 内部的中间组件,它将一个或多个连接器(Connector)组件绑定到一个单独的引擎(Engine)上。Service 也很少由用户定制,Tomcat 也提供了 Service 接口的默认实现。
  • Connector:连接器,处理与客户端的通信,它负责接收客户请求,以及向客户返回响应结果。在 Tomcat 中,有多个连接器可以使用。
  • Engine:Servlet 引擎,表示一个特定的 Service 的请求处理流水线,从连接器接收和处理所有的请求,将响应返回给适合的连接器,通过连接器传输给用户。在 Tomcat 中,每个 Service 只能包含一个 Engine。可以通过实现 Engine 接口提供自定义的引擎。
  • Host:一个虚拟主机,一个引擎可以包含多个 Host。Tomcat 给出了 Host 接口的默认实现 StandardHost。
  • Context:一个 Web 应用程序,运行在特定的虚拟主机中。一个 Host 可以包含多个Context,每个 Context 都有一个唯一的路径。通常不需要创建自定义的 Context,Tomcat 给出了 Context 接口的默认实现  StandardContext。

 

 


【Java面试题与答案】整理推荐

  • 基础与语法
  • 集合
  • 网络编程
  • 并发编程
  • Web
  • 安全
  • 设计模式
  • 框架
  • 算法与数据结构
  • 异常
  • 文件解析与生成
  • Linux
  • MySQL
  • Oracle
  • Redis
  • Dubbo

 

你可能感兴趣的:(说说Tomcat的模块架构)