Restful 설정 관련 url-pattern / 변경 문제
- 작성자 :
- 김*중
- 작성일 :
- 2015-04-01 10:59:25
- 조회수 :
- 1,642
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요.
좀전에 답변 주셨던 내용 관련해서 문의 드립니다.
현재 답변주신 정보대로
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/restful/*</url-pattern>
</servlet-mapping>
부분을 아래와 같이
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
변경 하였을경우 restful 사용에는 아무런 문제가 되지 않으나
이런경우 기존 resource 즉 webapp 의 html, images, js 등등의 경로에 일반적으로 접근이 되지 않아 문제가 있습니다.
egovframe 과의 restful 관련 설정과 충돌되지 않게 하기 위한 방법이 어떻게 되는지 문의 드립니다.
좀전에 답변 주셨던 내용 관련해서 문의 드립니다.
현재 답변주신 정보대로
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/restful/*</url-pattern>
</servlet-mapping>
부분을 아래와 같이
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
변경 하였을경우 restful 사용에는 아무런 문제가 되지 않으나
이런경우 기존 resource 즉 webapp 의 html, images, js 등등의 경로에 일반적으로 접근이 되지 않아 문제가 있습니다.
egovframe 과의 restful 관련 설정과 충돌되지 않게 하기 위한 방법이 어떻게 되는지 문의 드립니다.
A
안녕하세요. 표준프레임워크센터입니다.
정적콘텐츠 호출시 에러가 발생하는 원인은 DispatcherServlet의 url-pattern을 "/" 와 같이 설정하게 되면서
tomcat의 server.xml에 정의되어 있는 url-pattern "/"을 무시하기 때문입니다.
이에 관해 첫번째 해결방법은 정적인 파일에 관해 별도의 매핑을 만들어 주는 방법입니다.
아래 예제처럼 맵핑을 추가하시면 됩니다.
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.ico</url-pattern>
<url-pattern>*.swf</url-pattern>
</servlet-mapping>
두번째 방법은 스프링에서 지원하는 <mvc:default-servlet-handler />를 사용하는 방법입니다.
<mvc:default-servlet-handler />
<mvc:annotation-driven />
위 내용을 servlet 설정 관련xml에 추가하는 방법입니다.
아래 외부링크 블로그 글을 확인해보시고 작업해보시길 바랍니다.
http://lng1982.tistory.com/97
감사합니다.
정적콘텐츠 호출시 에러가 발생하는 원인은 DispatcherServlet의 url-pattern을 "/" 와 같이 설정하게 되면서
tomcat의 server.xml에 정의되어 있는 url-pattern "/"을 무시하기 때문입니다.
이에 관해 첫번째 해결방법은 정적인 파일에 관해 별도의 매핑을 만들어 주는 방법입니다.
아래 예제처럼 맵핑을 추가하시면 됩니다.
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.ico</url-pattern>
<url-pattern>*.swf</url-pattern>
</servlet-mapping>
두번째 방법은 스프링에서 지원하는 <mvc:default-servlet-handler />를 사용하는 방법입니다.
<mvc:default-servlet-handler />
<mvc:annotation-driven />
위 내용을 servlet 설정 관련xml에 추가하는 방법입니다.
아래 외부링크 블로그 글을 확인해보시고 작업해보시길 바랍니다.
http://lng1982.tistory.com/97
감사합니다.