什么是 Filter 过滤器

  1. Filter 过滤器是JavaWeb 的三大组件之一,分别是Servlet 程序、Listener 监听器、 Filter 过滤器
  2. Filter 过滤器是JavaEE 的规范,也是接口
  3. Filter 过滤器的作用是:拦截请求,过滤响应

    应用场景

  4. 权限检查

  5. 事务管理
  6. 日志操作

Filter过滤的使用步骤

  1. 编写一个类去实现Filter接口
  2. 实现过滤方法doFilter()
  3. 到web.xml中去配置Filter的拦截路径

Filter的生命周期

  1. 构造器方法
  2. init初始化方法

第1、2步在web工程启动的时候执行(Filter 已经创建)

  1. doFilter方法

每次拦截到请求,执行

  1. destroy方法

停止web工程的时候,就会执行,(会销毁Filter过滤器)

FilterConfig 类

  1. FilterConfig类的作用是获取filter过滤器的配置内容
    1. 获取Filter的名称filter-name的内容
    2. 获取web中配置的init-param初始化参数
    3. 获取ServletContext对象

FilterChain 过滤器链

截屏2021-08-20 下午7.23.04.png

Filter的拦截路径

  1. 精确匹配

/admin.jsp
� 以上配置的路径,表示请求地址必须为 http://localhost:port/项目名称/admin.jsp

  1. 目录匹配

/admin/*
� 以上配置的路径,表示请求地址必须为 http://localhost:port/项目名称/admin.jsp

  1. 后缀名匹配

/*.html
� 以上配置的路径,表示请求地址必须为 html结尾的文件类型才被拦截到