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

  • 相关阅读:
    【转】Java学习---HashMap的工作原理
    【转】Java学习---集合框架那些事
    Linux学习---linux下的彩蛋和各种有趣的命令
    【转】VMware虚拟机三种网络模式超详解
    沃顿商学院的MBA课程
    本杰明-富兰克林的13节制
    美学需要读的书
    芒格推荐书单
    回声消除(AEC)原理
    adc0和adc1
  • 原文地址:https://www.cnblogs.com/blogxiao/p/7454654.html
Copyright © 2011-2022 走看看