1.StandardWrapperValve的invoke方法中,
A.根据Request创建对应的filer链对象,因为不同的请求可能会有不同的filter链
B.调用ApplicationFilterChain.dofilter()方法
C.通过ApplicationFilterChain里面的filters数组,这个成员变量包括了若干filter,filter.dofilter会把this传进去,也就是我们自己写的filter时,会调用chain.dofilter()
D:看下chain.doFilter()方法
E:发现了吧 这时个不断的往下调用的函数,直到filter没有了
F:internalDoFilter方法会继续往下执行,就是执行servlet的service方法
可以看出 先根据Request和servlet创建filter链,那说明在一个请求来的时候,会new一个filter链,
然后执行各个filter的doFilter方法。