最近比较闲,看了看Tomcat解析架构这本书,记录下关键信息,免得时间久了,忘记了,翻纸质书籍也麻烦。
1.Tomcat的架构
类加载器
2.Catalina
Server非常复杂,大致分为以下步骤:
1)、创建Server实例,Catalina中Server的默认实现类为org.apache.catalina.core.StandardServer
2)、创建全局J2EE企业命名上下文,根据GlobalNamingResources配置创建
3)、为Server添加生命周期监听器,LifecycleListener监听器
4)、构造Service实例,默认的Service实现类为org.apache.catalina.core.StandardService
5)、为Service添加生命周期监听器
6)、为Service添加Executor,默认实现为org.apache.catalina.core.StandardThreadExecutor
7)、为Service添加Connector
8)、为Connector添加虚拟主机SSL配置
9)、为Connector添加生命周期监听器
10)、为Connector添加升级协议
11)、添加子元素解析规则
Catalina对web应用的加载主要由StandardHost, HostConfig, StandardContext, ContextConfig, StandardWrapper这5个类完成。
3.Coyote
Connector中的几个核心概念:Endpoint , Processor,ProtocolHandler, UpgradeProtocol