后端开发小站

分类


标签


Tomcat的ApplicationFilterChain执行流程

熊毅熊毅

源代码版本:

tomcat-embed-core:9.0.37

1、在StandardWrapperValud类的invoke方法中,使用工厂类ApplicationFilterFactory 实例化ApplicationFilterChain。

ApplicationFilterChain为调用链,用ApplicationFilterConfig数组存储所有的Filter。

ApplicationFilterChain初始化的过程中会通过StandardContext的FilterMap数组来建立ApplicationFilterConfig。

2、调用FilterChain的doFilter方法传入request和response

3、ApplicationFilterChain调用私有方法internalDoFilter,获取当前执行的ApplicationFilterConfig

4、当前过滤器执行doFilter方法传入过滤器链FilterChian,过滤器执行完对应逻辑后调用过滤器链的doFilter方法。

ex.以OncePerRequestFilter为例的时序图

生而为人,必须努力

评论 0
目前没有任何评论