Filter 执行原理和执行顺序

执行原理

底层中存在一个map和一个数组。
一个map:Map的key为的值,value为Filter实例对象的引用。
一个数组:存在着和请求相匹配的Filter引用。
执行过程:当对某资源的请求到web容器时,会先对请求解析,使用解析出来的URI作为一个比较对象,从Map中查找是否存在相匹配的key。若存在,那么读取其中的value,即filter对象的引用,将该引用存入到数组中,然后继续查找,直到该Map查找完毕。这样在数组中就会存在按照查找顺序排好序的filter引用。
数组初始化完毕后,开始按照数组元素顺序进行执行,所有数组中的filter全部执行完毕以后,再跳转到请求的目标资源。

执行顺序

可以看出filter的执行顺序时按照数组中的顺序查找,而map中的顺序是按照注册的filter顺序。所以说请求目标资源一致时先注册的filter先执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值