过滤器中注入spring管理的对象


不管三七二十一,粗略的理解,过滤器是在spring之前执行的

这个时候想在过滤器中使用spring管理的对象就得用代理过滤器来管理过滤器(DelegatingFilterProxy)

<!-- <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.package.MyFilter</filter-class>
  </filter> -->
  <filter>  
        <filter-name>MyFilter</filter-name>  
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
  </filter>
  <filter-mapping>
    <filter-name>MyFilter</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>

修改后的在web.xml中的代码如上,注释中的是原有写法。

在spring的配置文件中添加一行:

<!-- 启动项目时Spring创建一个过滤器对象交由代理过滤器管理(DelegatingFilterProxy) -->
    <bean id="MyFilter" class="com.package.MyFilter" />

这个时候在过滤器中就能注入spring管理的对象了。

上一篇:消息队列MQ


下一篇:正则表达式