Wish
Want to use a Spring bean as JSP Filter.
Solution
Use DelagatingFilterProxy from Spring libarry.
Details
- Implements the Spring bean from javax.servlet.Filter as usual Filter
public class HeaderValidationFilter implements Filter{
……
}
- Create Spring bean (with Spring XML) as usual
<bean id="filterHeader” class=”com.proprogrammers.HeaderValidationFilter”>
……
</bean>
- In “web.xml” add JSP filter as below:
- Notice that <filter-name> is the same as bean id above.
<filter>
<filter-name>filterHeader</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter><filter-mapping>
<filter-name>filterHeader</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping><servlet>
<servlet-name>Spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Caveat
Filter bean (at step-2) cannot be defined in Spring Servlet XML file; Spring-servlet.xml in the sample. It must be in other Spring XML file.
Read More
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/security-filter-chain.html
Credits
Collin Yates
http://forum.springsource.org/showthread.php?20230-Howto-The-joy-that-is-DelegatingFilterProxy

0 comments:
Post a Comment