Tomcat 启动图解

Tomcat总体结构

Server –> Service –> Connector & Container( Engine –> Host –> Context( Wrapper( Servlet ) ) )

 

Tomcat 的心脏是两个组件:Connector 和 Container,Connector 组件是可以被替换,这样可以提供给服务器设计者更多的选择,因为这个组件是如此重要,不仅跟服务器的设计的本身,而且和不同的应用场景也十分相关,所以一个 Container 可以选择对应多个 Connector。

多个 Connector 和一个 Container 就形成了一个 Service,有了 Service 就可以对外提供服务了,但是 Service 还要一个生存的环境,那就非 Server 莫属了。所以整个 Tomcat 的生命周期由 Server 控制。

 Service 接口的方法列表如下:

Container

Container是一个接口,定义了下属的各种容器,尤其是Wrapper、Host、Engine、Context

Engine
负责处理来自相关联的service的所有请求,处理后,将结果返回给service,而connector是作为service与engine的中间媒介出现的。
一个engine下可以配置一个默认主机,每个虚拟主机都有一个域名。当engine获得一个请求时,它把该请求匹配到虚拟主机(host)上,然后把请求交给该主机来处理。
Engine有一个默认主机,当请求无法匹配到任何一个虚拟主机时,将交给默认host来处理。Engine以线程的方式启动Host。

Tomcat server.xml结构

startup.bat执行流程

 catalina.bat执行流程

Tomcat Server处理一个http请求的过程

原文地址:https://www.cnblogs.com/aaron911/p/9881225.html