Tomcat整体架构示意
Tomcat连接器
tomcat的连接器主要完成3个功能,分别是网络通信,应用程协议解析,Tomcat request/response和Servlet request/response的转化
对此Tomcat设计了三个模块来完成上述功能,分别是EndPoint,Processor,Adapter
EndPoint
Acceptor: 监听socket连接请求
SocketProcessor:处理接收到的socket请求
Processor
SocketProcess会把任务提交到线程池去处理
SocketProcessor 的 Run 方法会调用Processor 组件去解析应用层协议,Processor 通过解析生成 Request 对象后,会用 Adapter 的 Service 方法。
Adaptor
传入的是 Tomcat Request 对象,CoyoteAdapter 负责将 Tomcat Request 转成 ServletRequest,再调用容器的 Service 方法。
Tomcat容器
请求定位Servlet的过程
所有请求的调用过程:责任链模式