Filter 过滤器
1、Filter 过滤器是Javawe 三大组件之一 Servlet 程序 Listener 监听器 Filter过滤器
2、FIlter过滤器它是javaEE的规范。也就是接口
3、FIler过滤器它的作用是:拦截请求,过滤响应。
拦截请求常见的应用场景有:
1、权限检查
2、日记操作
3、事务管理
<filter>
<!-- 给filter起别名 -->
<filter-name>AdminFilter</filter-name>
<!--配置filter的全类名-->
<filter-class>全类名</filter-class>
</filter>
<filter-mapping>
<filter-name>AdminFilter</filter-name>
<url-pattern>/目录/*</url-pattern>
</filter-mapping>
Filter的生命周期
Filter的生命周期包含的几个方法:
-
构造器方法 (web工程启动执行)
-
init 初始化方法 (web工程启动执行)
-
doFilter过滤方法 (每次拦截到请求就会执行)
-
destroy 销毁 (停止web工程执行)
FilterConfig类
FilterConfig 是Filter过滤器的配置文件夹
Tomcat 每次创建 Filter 的时候,也会同时创建一个 FilterConfig 类,这里包含了 Filter 配置文件的配置信息
FilterConfig类的作用是获取filter过滤器的配置内容
- 获取 Filter 的名称 filter-name 的内容
- 获取在xml中配置的 init-param 初始化参数
- 获取ServletContext对象
多个Filter过滤器执行的特点:
1、所有filter和目标资源默认都执行在同一个线程中
2、多个Filter共同执行的时候,它们都使用同一个Request对象
Filter 的拦截路径
–精确匹配
<url-pattern>/target.jsp</url-pattern>
–目录匹配
<url-pattern>/admin/*</url-pattern>
–后缀名匹配
<url-pattern>*.html</url-pattern>