DelegatingFilterProxy作用浅析

    <filter>
        <filter-name>secondDomainFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetFilterLifecycle</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>secondDomainFilter</filter-name>
        <url-pattern>*.htm</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>shopFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetFilterLifecycle</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>shopFilter</filter-name>
        <url-pattern>*.htm</url-pattern>
    </filter-mapping>

spring-web 炸包下面的这个代理类主要作用如下:

使filter可以使用spring中的bean,达到可插拔的效果。比如你可以使用shiro或者springSecurity等安全框架来进行权限管理,这样也算是使安全验证这一块与spring解耦。

 具体过程:web.xml中的ContextLoaderListener会将spring及你使用的shiro或者springSecurity的相关配置文件加载,然后初始化声明的bean,这其中就有filter中要用到的bean;这样filter用到这些bean的时候就可以到spring的bean容器中去取了

 

 

posted @ 2017-11-21 15:50  lamsey16  阅读(358)  评论(0编辑  收藏  举报