tomcat组件与功能说明
Server:顶层组件,代表一个servlet容器的实体,server组件会在一个指定端口接收命令,比如shutdown 命令会停止服务.
Service:service组件包括一到多个connector组件,这些connector组件将收到的请求发往同一个engine组件
Executor:提供一个线程池,可以给tomcat中的组件使用.比如connector组件可以配置使用executor
Connector:与客户端直接交互的通讯组件.接收请求,返回响应给客户端,代表一个socket连接,按协议不同有多个实现:http,ajp
Context:代表一个运行在host组件中的web应用.一个host可以包括多个context组件
Engine:接收来自connector组件的消息,并执行请求,返回请求给connector.再返回给客户端.一个Engine可以包括多个host组件.
Host:一个虚拟主机组件,映射到一个主机头,比如一个域名.Host支持多个域名映射到同一个ip.
Cluster: 集群,session复制.
其中server,service,context,engine,host,Executor在org.apache.catalina.core包中都有一个standard实现
Connector在org.apache.catalina.connector包中的Connector类的setProtocol设置针对每个具体的协议的实现
可以看到具体和客户端交互的通讯操作的封装都在org.apache.coyote包中
内嵌组件包括: