工业制造其它Tomcat

Container如何处理请求?

tomcat中的Container如何处理请求的?显示全部

tomcat中的Container如何处理请求的?

收起
参与8

查看其它 1 个回答zftang的回答

zftangzftang其它小白一枚

Connector在接收到请求后会首先调用最顶层容器的Pipeline来处理,这里的最顶层容器的Pipeline就是EnginePipeline(Engine的管道);

在Engine的管道中依次会执行EngineValve1、EngineValve2等等,最后会执行StandardEngineValve,在StandardEngineValve中会调用Host管道,然后再依次执行Host的HostValve1、HostValve2等,最后在执行StandardHostValve,然后再依次调用Context的管道和Wrapper的管道,最后执行到StandardWrapperValve。

当执行到StandardWrapperValve的时候,会在StandardWrapperValve中创建FilterChain,并调用其doFilter方法来处理请求,这个FilterChain包含着我们配置的与请求相匹配的Filter和Servlet,其doFilter方法会依次调用所有的Filter的doFilter方法和Servlet的service方法,这样请求就得到了处理!

当所有的Pipeline-Valve都执行完之后,并且处理完了具体的请求,这个时候就可以将返回的结果交给Connector了,Connector在通过Socket的方式将结果返回给客户端。

互联网服务 · 2020-04-26
浏览931

回答者

zftang
zftang162344
其它小白一枚
擅长领域: 数据库云计算服务器

zftang 最近回答过的问题

回答状态

  • 发布时间:2020-04-26
  • 关注会员:3 人
  • 回答浏览:931
  • X社区推广