filter原理

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方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值