不管三七二十一,粗略的了解,過濾器是在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管理的對象了。