Tomcat 整体架构

Tomcat 是什么

Tomcat 是开源的 Java Web 应用服务器,类似的 Java Web 服务器还有 Jetty,Jboss

Tomcat 整体架构

Tomcat 核心组件

Tomcat 核心组件主要有以下四个 Server、Service、Connector、Container

Server:即为一个 Tomcat 实例,每个主机可以启动多个 Server

Service:即 Tomcat 提供的一个完整的 web 服务,一个 Tomcat 实例可以有多个 Service,Service 由 Connector 和 Container 组成

Connector:即连接器,用于处理网络请求和返回请求结果,连接器会将网络请求转换为标准的 HttpRequest 传递给 Container

Container:即 Servlet 容器,用于管理 Servlet 应用,调用 Servlet 方法

Tomcat 核心组件 - Connector(连接器)

连接器主要用来处理网络请求和返回请求结果,支持多种 IO 模型和应用层协议,具体如下

连接器的组成架构如下,主要由 EndPoint(通信端点)、Processor(协议处理器)、Adapter(数据转换接口)组成

EndPoint(通信端点):主要用来处理 Socket 连接,接收与发送报文数据

Processor(协议处理器):接收来自EndPoint的数据,将数据转换成 TomcatRequest,同时接 Adapter 返回的 TomcatResponse,将其转换成字节数据返回给 EndPoint

Adapter(数据转换接口):用来将TomcatRequest 和 TomcatResponse 数据转换成标准的 HttpRequest 传递给容器使用,并且接受来自容器的 HttpResponse,将其转换成 HttpResponse

Tomcat 核心组件 - Container(容器)

Container 是一个抽象的概念,主要代表 Servlet 容器实现,由 Engine、Host、Context、Wrapper 组件构成,其内部结构如下:

Engine(引擎):用于管理多个 Host (站点),一个 Service 只能有 1 个 Engine

Host:代表一个拟站点,一个容器可以配置多个 Host 

Context:就表示一个 web 应用

Wrapper:就表示一个 Servlet,例如 SpringMVC 中的 DispatcherServlet

上述 4 个组件在配置文件中都有对应的标签

Tomcat 中 Http请求过程

todo

Tomcat 启动过程

todo

Tomcat 类加载机制

todo

 

参考:

https://p1n93r.github.io/post/java/tomcat%E6%9E%B6%E6%9E%84%E5%8E%9F%E7%90%86/

https://blog.csdn.net/m0_38060977/article/details/104100839

https://segmentfault.com/a/1190000023475177#item-4

 

posted @ 2024-11-10 22:20  lenbkan  阅读(23)  评论(0编辑  收藏  举报