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 炸包下面的這個代理類主要做用以下:web

使filter可使用spring中的bean,達到可插拔的效果。好比你可使用shiro或者springSecurity等安全框架來進行權限管理,這樣也算是使安全驗證這一塊與spring解耦。spring

 具體過程:web.xml中的ContextLoaderListener會將spring及你使用的shiro或者springSecurity的相關配置文件加載,而後初始化聲明的bean,這其中就有filter中要用到的bean;這樣filter用到這些bean的時候就能夠到spring的bean容器中去取了安全

 

相關文章
相關標籤/搜索