Tomcat指南之处理请求过程的整体分析

最近在研读tomcat相关书籍,但是细节一直忘记,所以特此记录下来生气

一次完整请求的涉及的核心类如下:

  JioEndPoint的Reactor--Executor--Http11Processor-CoyteAdapter-XXValve--EngineValve-XXValve--HostValve-XXValve--ContextValve-XXValve--WarperValve-Servlet--Controller--

下面是具体的请求流转过程:

  1 当Tomcat启动后,Connector组件的Acceptor会持续监听指定端口的连接和接受socket。

  2 当监听到客户端连接后,将连接交给Executor执行,开始执行请求和响应任务。

  3 HttpProccessor负责从连接中读取消息报文 ,然后按照Http协议的去解析包,并且封装成Request对象。

  4 Mapper组件根据Http协议请求行去匹配那个Host,Context,Wrapper去处理请求,将路由结果封装到Request对象中。

  5 CoyoteAdapter组件负责将Connector和Engine容器链接起来,将Request对象和Response对象传递到Engine容器,调用管道。

  6 Engine容器的管道开始处理请求,管道包含若干阀门(Valve),执行基础阀门EngineValve,负责调用Host容器管道。

  7 依次类推,直到Warpper执行基础阀门,执行Servlet对象的处理方法,对请求进行逻辑处理。

扫描二维码关注公众号,回复: 2564403 查看本文章




猜你喜欢

转载自blog.csdn.net/qq_21190979/article/details/80753133
今日推荐