核心内容:
Filter的作用:用于拦截请求
Filter的执行顺序:先web.xml,在注解
Filter的拦截:filter工作在servlet之前,提供过滤功能
Filter的配置:web.xml和基于注解的方式
1、什么是Filter
Servlet API提供了一个Filter接口,Filter 对web资源进行拦截,通常是拦截request请求
2、Filter配置
基于web.xml
<filter>
<filter-name>表示过滤器分配一个名字</filter-name>
<display-name>表示IDE使用的短名称</display-name>
<description>表示IDE的信息</description>
<filter-class>执行过滤器实现类的完全限定名</filter-class>
<init-param>定义gerInitParameter方法的初始化参数</init-param>
</filter>
<filter-mapping>
<filter-name>与filter中的filter-name匹配</filter-name>
<url-pattern>声明一个以斜杠开头,用于设置filter所拦截的请求路径</url-pattern>
</filter-mapping>
基于注解的方式
待补充
3、多个Filter执行顺序
- 在web.xml中,filter执行顺序是先声明的先执行
- 使用注解配置的,filter的执行顺序跟名称相关,A_Filter比B_Filter先执行
- 同时配置了web.xml和注解,先执行web.xml里面的filter
4、Filter访问流程
5、Filter的接口方法
- init()方法
- doFilter()方法,与servlet不同的地方是,doFilter接受类型包括上一个Filter处理的结果
- destroy()接口