我正在嘗試將spring注入到servlet過濾器中。過濾器是引用的jar文件的一部分。所以。我不能把它改成攔截器。在我的插件項目在Servlet過濾器中注入彈簧
<filter>
<filter-name>CustomFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>someinitparam</param-name>
<param-value>value to it</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CustomFilter</filter-name>
<url-pattern>/mywebservices/*</url-pattern>
</filter-mapping>
在spring.xml的web.xml中我會用這樣的
<bean id="CustomFilter" class="com.abc.CustomFilter"></bean>
有一些過濾器在spring.xml已配置爲
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/mywebservices/*=some existing filters
</value>
</property>
</bean>
因爲我已經在web.xml中指定了我的url模式,我是否需要再次在filterChainProxy中添加爲
/mywebservices/**=CustomFilter, some existing filters
它會工作嗎。
請建議。
將它的工作
,然後注入屬性可以配置過濾器?你有沒有嘗試過? – TheWhiteRabbit
嗯..聽起來很棘手。 Spring依賴注入通常是在Spring上下文創建的bean上完成的,而過濾器是由java ee服務器本身創建的。也許你可以做的是 - 如果你可以確定在你創建Filter類的時候spring context已經準備好了 - 試着以某種方式獲得對它的引用。順便說一句,你能告訴我們更多關於你的應用程序的信息 - 做你使用Spring MVC?如果是這樣,也許你不需要使用servlet過濾器 – gerrytan
@TechExchange。我已經嘗試過,但它對我的應用程序造成嚴重錯誤。 – Patan