Interceptor에서 특정 URL 패턴을 갖는 경우에 제외하고자 할 경우는 어떤 식으로 처리할까?
Spring Framework. 3.1과 3.2의 버전마다 차이가 있는데.
Spring 3.2의 경우는 servlet-context.xml 파일에 다음과 같이 설정해주면 끝.
하지만 3.1의 경우는 exclude-mapping을 지원해주지 않으므로, Interceptor 클래스에서 별도의 처리를 거쳐주어야 한다.
<!-- Configures Handler Interceptors -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 전체 설정시 -->
<!--
<mvc:mapping path="/**" />
-->
<mvc:mapping path="/member/**/*.do"/>
<mvc:mapping path="/present/**/*.do"/>
<!-- Spring 3.2 부터는 아래의 옵션으로 Interceptor를 거치지 않도록 설정 가능 -->
<mvc:exclude-mapping path="/index.do"/>
<mvc:exclude-mapping path="/index.jsp"/>
<mvc:exclude-mapping path="/member/login.do"/>
<mvc:exclude-mapping path="/member/logout.do"/>
<beans:bean class="com.xxx.xxxx.login.LoginCheckInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
LoginCheckInterceptor 클래스의 preHandle(..) 메소드내에서 다음과 같은 처리를 해주도록 한다.
// Login Interceptor를 거치지 않도록 하기 위한 URL 주소 입력
ArrayList<String> excludeCheckUrl = new ArrayList<String>();
excludeCheckUrl.add("/index.do");
excludeCheckUrl.add("/index.jsp");
excludeCheckUrl.add("/member/login.do");
excludeCheckUrl.add("/member/logout.do");
if (-1 != excludeCheckUrl.indexOf(uriStr)) {
logger.debug("//---------------------------- Exclude Interceptor URL ----------------------------");
return super.preHandle(request, response, handler);
}
'Development > Web Develope' 카테고리의 다른 글
HTTP Header를 이용한 파일 다운로드시 한글 파일명이 깨짐 문제 해결 방법 (0) | 2019.06.16 |
---|---|
web.xml과 struts-config.xml 의 한줄 주석 (0) | 2019.06.16 |
해법을 주마!!! java.io.IOException: Posted content type isn't multipart/form-data (0) | 2019.06.14 |
javascript에서 jQuery 함수 호출하기. (0) | 2019.06.14 |
virtual host 에러페이지 설정 (0) | 2018.03.27 |
댓글