对tomcat整体的架构有了宏观的了解,老师根据套娃这个游戏,生动形象的描述了tomcat设计的方式套娃式
同时讲解了tomcat的主要功能:
HTTP服务器功能,socket通信,解析HTTP报文。
servlet容器功能,servlet处理具体的业务逻辑。
TOMCAT 架构
server代表tomcat实例,因为Catalina(servlet)容器是tomcat的核心,所以我们通常说的tomcat实例就是一个Catalina实例
Server 里边 可以有多个service
一个 Service由一个或者多个connector(连接器组件)组件(监听不同的端口请求,解析请求),和一个servlet容器(做具体的业务逻辑)container 组成。
Container 里边包括一个engine, engine支持定义多个虚拟主机host。
wapper包装组件 ,在上下文中可以部署多个servlet,并且每个包装组件都会包含一个servlet
context是上下文对象, 每个虚拟主机可以部署多个web应用。
Tomcat 的connector(组件连接器)包含 3 个组件:分别是 EndPoint、Processor 和 Adapter。
来完成连接器的3 个高内聚的功能:网络通信、应用层协议解析、Tomcat Request/Response 与 ServletRequest/ServletResponse 的转化。
EndPoint 负责响应客户端请求提供字节流给 Processor,
Processor 负责提供 Tomcat Request 对象给 Adapter,
Adapter 负责提供 ServletRequest 对象给容器
Tomcat 这种一层层的架构好处是组件关系清晰,xml配置中标签的包含关系与tomcat架构设计对应,方便在后续解读xml以及对象封装