• 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
                                                                                                                                                                于马甸桥东
  • 相关阅读:
    [Swift]LeetCode1099. 小于 K 的两数之和 | Two Sum Less Than K
    转 用好HugePage,告别Linux性能故障
    子shell
    转 【推荐】 RAC 性能优化全攻略与经典案例剖析
    转 shell模拟数据库的读写
    c 语言写的高级Oracle&#174;数据库调优及监控工具
    crontab 在unix 没有执行。
    Oracle 云计算
    aix 推荐使用重启
    linux 打开FTP 功能
  • 原文地址:https://www.cnblogs.com/CaiBaoZi/p/3118990.html
Copyright © 2020-2023  润新知