본문으로 바로가기

Spring MVC Resource Mapping 방법

category Back-End/Spring framework 2018. 9. 17. 21:56
반응형

모든 경로, 즉 '/**' 대상으로 Interceptor를 걸어줄 경우, ~~.js, ~~.css 등의 정적자원의 요청까지도 인터셉터가 가로챈다.


이유는 Resource Mapping은 컨트롤러의 @RequestMapping과 동급으로 취급되고,


Interceptor는 요청이 컨트롤러로 들어가기 전에 먼저 실행되기 때문에 Resource Mapping으로 정적자원에 대한 요청을 매핑해놔도


걸러지지 않고 인터셉터가 가로챌 수 있는 것이다.


여러가지 해결방법이 있겠지만 Interceptor 에서 가로채지 않을 URL을 지정하는 것으로 해결했다.



1
2
3
4
5
6
7
8
<interceptor>
    <mapping path="/**"/>
    <exclude-mapping path="/ajax/*"/>
    <exclude-mapping path="/**/*.css"/>
    <exclude-mapping path="/**/*.js"/>
    <exclude-mapping path="/image/**/*.*"/>
    <beans:bean class="인터셉터클래스명기술"/>
</interceptor>
cs


반응형