Tomcat容器的责任链模式

image-20201112212937756

主要流程总结为:

  1. 请求被Connector组件接收,创建Request和Response对象;
  2. Connector将Request和Response交给Container,先通过Engine的Pipeline组件流经内部的每个Valve;
  3. 请求流转到Host的Pipeline组件中,并且经过内部Valve的过滤;
  4. 请求流转到Context的Pipeline组件中,并且经过内部的Valve的过滤;
  5. 请求流转到Wrapper的Pipeline组件中,并且经过内部的Valve的过滤;
  6. Wrapper内部的WrapperValve创建FilterChain实例,调用指定的Servlet实例处理请求;
  7. 返回Request和Response对象。