Filter学习笔记

前言:这个是我自己学习《Java Web 整合开发 王者归来》的学习笔记,对你们可能没有参考价值
1Filter概述
            Filter以为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改。FilterChain滤镜链是由多个Filter组成的。客户端请求request在抵达Servlet之前;服务器响应response在Servlet到达浏览器之前都会经过FilterChain中所有的Filter。
2Filter接口
           一个Filter必须实现javax.servlet.Filter的接口。Filter接口有三个方法
 
public abstract interface javax.servlet.Filter {
  
public abstract void init(javax.servlet.FilterConfig arg0) throws javax.servlet.ServletException;
  
 public abstract void doFilter(javax.servlet.ServletRequest arg0, javax.servlet.ServletResponse arg1, javax.servlet.FilterChain arg2) throws java.io.IOException, javax.servlet.ServletException;
  
  public abstract void destroy();
}
           其中init方法和destroy方法只调用一次,doFilter方法每次客户端请求时都会被调用一次
3Filter的配置
           Filter需要配置在web.xml中才能生效。一个Filter需要配置<filter ><filter-mapping>标签。
<filter>
     <filter-name>filtername</filter-name>
    <filter-class>helloFilter.MyFilter</filter-class>
    <init-param>
            <param-name>paramName</param-name>
            <param-value>  paramValue  </param-value>
    </init-param>
</filter>
            <filter>配置Filter的名称,实现类以及初始化参数。
<filter-mapping>
     <filter-name>filtername</filter-name>
     <url-pattern>/*</url-pattern>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
</filter-mapping>
            <filter-mapping>是用来配置filter映射的标签,<dispatcher>配置到达Servlet的方式,有四种取值:REQUEST,FORWARD,INCLUDE,ERROR四种方式。
            web.xml中<filter-mapping>的配置顺序会影响到Filter的执行顺序,配置在前面的Filter要更早执行
                                                                                                                                                             菜包子  2013年6月5日15:14:46
                                                                                                                                                            于马甸桥东

posted on 2013-06-05 15:17  菜包子  阅读(243)  评论(0编辑  收藏  举报

导航