1、Tomcat的两个核心功能:
处理Socket连接,负责负责网络字节流与Request和Response对象的转化。
加载和管理Servlet,以及处理具体Request请求。
Tomct设计了两个核心组件连接器(Connector)和容器(Container)来分别做这两件事情。连接器负责对外交流,容器负责对内处理。
单独的连接器或者容器都不能对外提供服务,需要把他们组装起来才能工作,组装后这个整体叫做Service组件。
2、连接器需要完成3个功能:
网络通信。
应用层协议解析。
Tomcat Request/Response与Servlet Request/Response转换。
Tomcat分别提供了3个组件来完成对应功能,EndPoint、Processor、Adapter。
组件之间通过抽象接口交互。这样做的一个好处就是封装变化。
EndPoint负责提供字节流给Processor,Processor负责提供Tomcat Request给Adapter,Adapter负责提供Servlet Request给容器。
由于I/O模型和应用层协议可以自由组合,比如NIO+HTTP,NIO2+AJP。Tomcat将网络通信和引用层协议解析放在一起考虑,设计了ProtocolHandler接口封装这两种变化。
连接器详细组件图:
3、容器
标签:容器,架构,Tomcat,Request,学习,连接器,组件,负责 From: https://www.cnblogs.com/gaoshikenan/p/17686903.html