출처: http://userx.tistory.com/entry/Spring-javaservletFilter
스프링 리소스를 java.sevlet.Filter 를 구현하여 쓸 수 있는게 있습니다.
멋 모르고, 그냥
class SampleFilter extends org.springframework.web.filter.OncePerRequestFilter
하면, 될줄 알았더니 그냥 필터 기능뿐이지 스프링 빈들을 가져오질 못하더라구요.
방법은, 필터를 구현하되 스프링빈으로 등록하고, web.xml 에서 <filter-class> 는
org.springframework.web.filter.DelegatingFilterProxy 로 하는것입니다.
<필터 구현>
{
@Autowired UserAuthCheck userAuthCheck;
public void doFilter(ServletRequest req,
chain.doFilter(req, res);
}
public void destroy() {}
public void init(FilterConfig arg0) throws ServletException {}
}
<스프링 빈 등록>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="filterTest" class="test.web.filter.FilterTest" />
</beans>
<WEB-INF에 필터등록>
<web-app id="test" version="2.5" .... >
<filter>
<filter-name>filterTest</filter-name>
<filter-class>
<filter-mapping>
<filter-name>filterTest</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
</web-app>
보시는 바와 같이, 주의할 점은 스프링 빈에 등록한 id 와 필터를 정의한 <filter-name> 에 값이 동일해야합니다.
이상.
그러고 보니, 필터가 뭐하는 놈인지도 설명이 좀 필요하겠네요. 따로 포스팅해서 올려야겠네요.
열대야가 시작되었습니다. 집이 무서운 계절이죠.
더위에 지치지 말고, 건강들 하시기 바랍니다~
출처: http://userx.tistory.com/entry/Spring-javaservletFilter [develop Experience]
출처: http://userx.tistory.com/entry/Spring-javaservletFilter [develop Experience]
출처: http://userx.tistory.com/entry/Spring-javaservletFilter [develop Experience]
출처: http://userx.tistory.com/entry/Spring-javaservletFilter [develop Experience]
'개발 > Programming' 카테고리의 다른 글
jstack 그리고 jconsole - JVM Stack Trace 얻기 (0) | 2017.06.07 |
---|---|
Jersey File Upload Example (0) | 2017.06.02 |
CORS 크로스 도메인 이슈 (No 'Access-Control-Allow-Origin' header is present on the requested resource) (0) | 2017.05.30 |
HAProxy로 로드밸런싱 (0) | 2017.05.16 |
래빗엠큐 & 레디스 스터디 1일차. (0) | 2017.05.08 |