Tomcat总结

2019-08-23  本文已影响0人  Lcap

主要组件

Tomcat的主要组件如图1-1所示,一个Server包含多个Service,而Service是Tomcat提供服务的最重要的主体,每个Service中又包含多个Connector和一个Container。Connector负责处理Http请求用于接收request和发送response,Container作为Servlet的载体负责处理业务逻辑。因此,Tomcat是一个Http服务和Servlet容器的集合体。


图1-1 Tomcat组件结构

Connector组件

Connector组件结构如图1-2所示,Connector又ProtocolHandler和Adapter组成,其中ProtocolHandler又由EndPoint和Processor组成。EndPoint负责处理Socket接收和发送,是TCP/IP的具体实现;Processor是负责从Socket对象中读取请求消息并生成Tomcat Request,以及将Tomcat Response装入Socket中;Adapter是Connector和Container之间的桥梁,负责将Tomcat Resquest转化为ServletRequest,以及将ServletResponse转化为Tomcat Response,可以想到Adapter应该采用了适配器模式。


图1-2 Connector组件结构

Container组件

Container组件,是由一个Engine组件组成,组件结构如图1-3所示。
其中,Host对应相应的请求链接,Context对应相应的Web App,Wrapper对应相应的Servlet。


图1-3 容器组件结构

Container组件处理请求的寻址流程如图1-4所示。
当Connector收到http://user.shopping.com:8080/order/buy请求,经过Connector上述的处理,将ServletRquest发给Container处理,Container中的Servlet Engine会将其寻找并依次转发给对应的HOST、Context(即Web App)和Wrapper(即Servlet)处理。

图1-4 容器资源访问流程

当Servlet执行完业务逻辑后,生成ServletResponse,将原路返回,整个请求处理的概况图过程如图1-5所示,不再赘述。


图1-5 Tomcat消息流

更多阅读

上一篇下一篇

猜你喜欢

热点阅读