<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容器中去取了安全