Filter学习杂记

来源:互联网 发布:mac系统如何倒退 编辑:程序博客网 时间:2024/06/05 20:22

【1】Filter的作用

Filter可以在请求到达目标资源之前进行拦截

Filter也可以放行请求

Filter可以在响应到达浏览器之前做一个预处理

【2】Filter创建以及配置

创建一个类实现Filter接口
在web.xml文件中对Filter进行配置
 <filter><filter-name>Filter的别名</filter-name><filter-class>Filter的全类名</filter-class> </filter> <filter-mapping><filter-name>别名</filter-name><url-pattern>需要Filter拦截的资源地址</url-pattern> </filter-mapping>

[3] Filter的生命周期

构造器:在服务器启动时调用,只会调用一次,说明Filter是单例多线程
init():在构造器被调用后,紧接着被调用。
doFilter():每一次拦截请求时都会调用
参数:ServletRequest request 请求报文
   ServletResponse response    响应报文
   FilterChain chain         放行请求       通过 chain.doFilter(request,response) 放行请求
destroy方法在项目停止时调用
【4】Filter执行顺序

多个Filter的执行顺序,有filter-mapping标签的配置顺序决定
【5】Filter拦截什么请求
Filter默认只会拦截直接向目标资源发送的请求,而像转发之类的请求不会拦截;
可以在filter-mapping的dispatcher标签中来指定过滤器要拦截的请求类型
原创粉丝点击