Filter

最近在学习filter,filter表示过滤器,是javaweb的三大组件之一,

filter过滤器的执行流程应该是:放行前语句,放行,访问资源,资源比如sevlet,jsp,html等,最后执行放行后语句.

当提交表单后,表单中的数据会存在request中,所以放行前需要对request的数据进行处理,当访问到资源,再放行之后,response响应到数据以后,就可以对response响应到的数据进行处理。

关于filter还有一些点。第一就是filter拦截资源路径的配置,我们在写filter时会加上

@WebFilter("/*")的注解,想拦截不同的资源就要配置不同的路径,有下面几种路径,

1.拦截指定的资源,例如index.jsp,那么写法为@WebFilter("/index.jsp")

2.拦截指定目录,写法为@WebFilter("/user/*"),访问user下的所有资源,都将被拦截

3.后缀名拦截,写法为@WebFilter("*.jsp"),访问所有.jsp结尾的资源都会被拦截

4.全部拦截,@WebFilter("/*")

第二就是过滤器链,web中可以有多个过滤器,这多个过滤器就是过滤器链,那么过滤器链的执行流程如何呢,下面以两个过滤器为例,第一个过滤器为FilterDemo1,第二个过滤器为FilterDemo2,他们均有自己的放行前,后逻辑,以及放行,那么他们的执行流程的先后顺序是

1.FilterDemo1的放行前逻辑

2.FilterDemo2的放行前逻辑

3.放行

4.访问资源

5.FilterDemo2的放行后逻辑

6.FilterDemo1的放行后逻辑

下面以图表示加深理解:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值