Filter过滤器

Filter什么是过滤器?

1.Filter过滤器它是JavaWeb的三大组件之一。三大组件分别是:Servlet程序,Listener监听器,Filter过滤器

2.Filter过滤器它是JavaEE的规范。也就是接口

3.Filter过滤器它的作用是:拦截请求,过滤响应。

  拦截请求常见的应用场景:

    1.权限检查

    2.日记操作

    3.事务管理

    ...........等等

Filter的初体验

  要求在你的web工程下,有一个admin目录,这个admin目录下的所有资源(HTML页面,JPG图片,JSP文件,等等)都必须是用户登陆后才允许访问。

 

 

   Filter的代码:

  

 

 web.xml中的配置:

 

 Filter过滤器的使用步骤:

  1.编写一个类去实现Filter接口

  2.实现过滤方法doFilter()

  3.到web.xml中去配置Filter的拦截路径

Filter的生命周期:

  Filter的生命周期包含几个方法

    1.构造器方法

    2.init初始化方法

      第一,二步,在web工程启动的时候执行(Filter已将创建)

    3.doFIlter过滤方法

      第3步,每次拦截到请求,就会执行

    4.destroy销毁

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

FilterConfig类

  FilterDonfig类见名知意,它是Filter过滤器的配置文件

  Tomcat每次创建Filter的时候,也会同时创建一个FilterConfig类,这里包含了Filter配置文件的配置信息

FilterConfig类的作用是获取Filter过滤器的配置内容

  1.获取filter的名称 filter-name的内容

  2.获取在web.xml中配置的init-param初始化参数

  3.获取Servlet Context对象

 

   web.xml配置:

  

 FIlterChain过滤器链

  Filter    过滤器

  Chain    链条,链

  FilterChain  就是过滤器链(多个过滤器如何一起工作)

      多个过滤器:

  

 

 FIlter的拦截路径:

  --精确匹配

    <url-pattern>/target.jsp</url-pattern>

    以上配置路径,表示请求地址必须为:http://ip:port/工程路径/target.jsp

  --目录匹配

    <url-pattern>/admin/*</url-pattern>

    以上配置的路径,表示请求的地址必须为:http://ip:port/工程路径/admin/*

  --后缀名匹配

    <url-pattern>*.html</url-pattern>

    以上配置的路径,表示请求的地址必须以:html结尾才会拦截到

    FIlter过滤器它只关心请求的地址是否匹配,不关心请求的资源是否存在!!!

posted @ 2021-11-22 16:51  Soleili  阅读(135)  评论(0编辑  收藏  举报