过滤器

1. 什么是过滤器Filter:

  可以过滤从客户端向服务器发送的请求.

2. 过滤器的使用:

  进行IP的过滤,脏话过滤,自动登录,响应压缩...

3. 使用过滤器: 

  编写一个类实现Filter接口:

4. 过滤器的生命周期:

  1. 服务器启动时创建并根据 web.xml 中声明的 filter 顺序依次实例化 filter。 

  2. init(FilterConfig) 来初始化过滤器

  3. 执行 : doFilter()方法执行(放行)     相当于servlet中的service()方法

  4. 服务器关闭时销毁       destroy()方法执行

实例化和初始化的操作只会在Filter启动时执行,而且只会执行一次。 

5. 过滤器链:

   过滤器链中的过滤器的执行的顺序与<filter-mapping>的配置顺序有关(过滤器链(执行顺序依url-parrent配置先后顺序))

   doFilter(request,response); -- 放行,放行到下一个过滤器中,如果没有下一个过滤器,到达目标资源.

6. chain.doFilter()方法 :

  下一个有过滤器就执行过滤器,没有就释放到当前浏览页面

  这个方法的请求和响应参数的类型是 ServletRequest 和 ServletResponse,也就是说,过滤器的使用并不依赖于具体的协议。 

7. Filter相关的配置:

<url-pattern>的配置:
* 完全路径匹配		:以 / 开始  /demo4/demo1.jsp
* 目录匹配			:以 / 开始 以 * 结束.  /*  /demo1/*
* 扩展名匹配			:不能以 / 开始 以 * 开始.  *.do  *.action

<servlet-name>的配置:根据Servlet的名称拦截Servlet.

<dispatcher>的配置:
* REQUEST	:默认值.
* FORWARD	:转发.
* INCLUDE	:包含.
* ERROR		:错误页面跳转.(全局错误页面)

 

posted @ 2020-06-14 19:21  经济人  阅读(138)  评论(0编辑  收藏  举报