小白之旅30-1

Filter 过滤器

概念:当访问服务器的某些资源时,过滤器可以将请求先进行拦截,在完成了一定的特殊功能后,可以让此请求继续执行。

一. 实现步骤

1、实现Filter接口

2、重写方法

3、配置web.xml

 <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.qf.filter.MyFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/a.jsp</url-pattern>
  </filter-mapping>

二. 过滤器的url配置

  • 完全匹配:拦截指定资源
  • 扩展名匹配:*.扩展名,拦截指定后缀的资源
  • 目录匹配:/文件夹/*,拦截指定目录中的所有资源
  • 匹配所有:/*,拦截所有资源

三. filter的生命周期及执行流程

3.1 生命周期

1、init:服务器开启后执行,只会执行一次

2、doFilter:每次请求都会被拦截

3、destroy:服务器正常关闭后执行

3.2 执行流程

1、执行放行前的功能

2、放行

3、访问目标资源

4、执行放行后的代码

四. 多个过滤器

假设有两个过滤器

执行步骤:

1、执行过滤器1放行前的功能

2、过滤器1放行

3、执行过滤器2放行前的功能

4、过滤器2放行

5、访问目标资源

6、执行过滤器2放行后的功能

7、执行过滤器1放行后的功能

点赞