zoukankan      html  css  js  c++  java
  • filter 过滤器加载流程

    过滤器例子

    <!--A过滤器-->
    <
    filter> <filter-name>mdamptRightLimitFilter</filter-name> <filter-class> com.sgfm.datacenter.filter.ALimitFilter </filter-class> </filter> <filter-mapping> <filter-name>AFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
    <!--B过滤器-->
    <filter> <filter-name>BFilter</filter-name> <filter-class>com.sgfm.datacenter.filter.BFilter</filter-class> </filter> <filter-mapping> <filter-name>BFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>

    1.当web应用启动时候,就开始调用过滤器链中的所有init方法。初始化顺序 b->a,然后调用dofilter

    public void init(FilterConfig filterConfig) {
            applicationContext = WebApplicationContextUtils.getWebApplicationContext(filterConfig.getServletContext());
        }

    2.再 调用dofilter,不过只会调用 <url-pattern>/*</url-pattern> 的dofilter方法,为什么了,应为容器会将应用的上下问给去掉,只匹配/*的过滤器

    当然这只是启动的时候

    当在运行的时候,因为是过滤器链所以都会调用,只不过这时候调用的顺序就是先精确匹配,在通配符匹配

    eg:调用的cc.do 会先调用 Afilter->Bfilter

  • 相关阅读:
    self 和 super 关键字
    NSString类
    函数和对象方法的区别
    求两个数是否互质及最大公约数
    TJU Problem 1644 Reverse Text
    TJU Problem 2520 Quicksum
    TJU Problem 2101 Bullseye
    TJU Problem 2548 Celebrity jeopardy
    poj 2586 Y2K Accounting Bug
    poj 2109 Power of Cryptography
  • 原文地址:https://www.cnblogs.com/blogxiao/p/7454654.html
Copyright © 2011-2022 走看看