web.xml에서 서블릿맵핑을 "/" 으로 설정했다면 모든 경로에 대한 요청을 서블릿이 처리하려고 하는 문제
------
DispatcherServlet 에 대한 /src/main/webapp/WEB-INF/web.
<servlet-mapping>
<servlet-name>appServlet</
<url-pattern>/</url-pattern>
</servlet-mapping>
확장자에 관계 없이 모든 요청에 대한 DispatcherServlet 이 통제 하려고 하면서 생기는 문제
-------
해결:
CoC 방식 I
특정 확장자 또는 특정 폴더 아래의 파일들만 DispatcherServlet 이 통제하도록 /src/main/webapp/WEB-INF/web.
<servlet-mapping>
<servlet-name>appServlet</
<url-pattern>/*.do</url-
</servlet-mapping>
또는
<servlet-mapping>
<servlet-name>appServlet</
<url-pattern>/Spring/</url-
</servlet-mapping>
CoC 방식 II
/src/main/webapp/resources 폴더 밑으로 css, js, img 등 DispatcherServlet 이 통제하지 않을 파일들을 옯겨 놓기
설정 방식 I - 강력 추천
/src/main/webapp/WEB-INF/
<resources mapping="/resources/**" location="/resources/" />
을 참고 하여 다른 폴더들도 리소스라고 등록해 준다.
<resources mapping="/resources/**" location="/resources/" />
<resources mapping="/css/**" location="/css/" />
<resources mapping="/js/**" location="/js/" />
<resources mapping="/img/**" location="/img/" />
설정 방식 II - 막장 방식
/src/main/webapp/WEB-INF/
<resources mapping="/resources/**" location="/resources/" />
을 참고 하여 다른 폴더들도 리소스라고 등록해 준다.
<resources mapping="/resources/**" location="/resources/" />
<resources mapping="/css/**" location="/css/" />
<resources mapping="/js/**" location="/js/" />
<resources mapping="/**" location="/img/" />
/** 은 하나의 라인만 가능
출처 : https://groups.google.com/forum/#!msg/ksug/J1fc5iq39hk/S3gHEW-1dvcJ
'JSP(Java Server Page)' 카테고리의 다른 글
JSP안의 자바소스 (0) | 2014.03.19 |
---|---|
url 경로 (0) | 2014.01.21 |
이클립스 안에서 ${encoding} 값을 설정하고(바꾸고) 싶을 때 (0) | 2014.01.20 |
jsp에서 cache 사용하지 않는 설정 (0) | 2014.01.07 |
contentType charset과 pageEncoding의 차이점 (0) | 2013.12.27 |