Filter
什么是Filter
Filter 过滤器是 JavaWeb 三大组件之一
Filter 过滤器 JavaEE 的规范
Filter 过滤器它的作用是:拦截请求,过滤响应

Filter的使用步骤
- 编写一个类去实现 Filter 接口
- 实现过滤方法 doFilter()
- 到 web.xml 中去配置 Filter 的拦截路径
Filter生命周期
- 构造器:当需要调用 Filter 的拦截但没有实例时,调用 Filter 的构造器创建 Filter 的实例
- init:当 Filter 被实例化时,将调用 init() 方法初始化 Filter
- doFilter:拦截到请求调用 doFilter 的处理
- destroy:当 Web 工程关闭或 Filter 长时间不被使用,则调用 destroy 方法销毁 Filter 实例
FilterConfig类
Filter 过滤器的配置文件类
包含了 Filter 配置文件的所有信息
作用
- 获取 Filter 的名称 filter-name 的内容
- 获取在 Filter 中 web.xml 配置的 init-param 初始化参数
- 获取 ServletContext 对象
FilterChain过滤器链

优先顺序为 web.xml 中从上到下配置的顺序
特点
- 所有 filter 和目标资源默认都执行在同一个线程中
- 多个 Fliter 过滤器同时执行的时候,他们都要使用同一个 Request 对象
Filter的拦截路径
- 精确匹配
1
2
3
4<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/target.jsp</url-pattern>
</filter-mapping> - 目录匹配
1
2
3
4<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping> - 后缀名匹配
1
2
3
4<filter-mapping>
<filter-name>filter2</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
Filter
http://yjh-2860674406.github.io/2023/07/07/编程/JAVAEE/Filter/