(RESTful) 이미지 등 Resource 파일 인식하기 위한 설정
개발언어/Java, Spring 2017. 6. 2. 13:19
Spring3에서 Resource를 사용하는 방법에 대해 포스팅하겠습니다.
RESTful 방식 Spring에서 Resource 사용에 대한 문제점
RESTful 방식으로 Spring을 운영하면 확장자 없이 컨트롤러 호출이 가능합니다.
그러나 이런 이유 때문에 js/css/img 과 같은 Resource들을 컨트롤러로 인식하는 문제점이 있습니다.
문제점을 보여주기 위해 프로젝트에 Resource들을 관리하기 위한 resource 폴더를 만들고,
테스트용 이미지(test.png)를 넣었습니다.
그리곤, index.jsp에 아래 코드를 입력해보았습니다.
<img src="./resource/test.png" />
결과는 아래와 같이 인식하지 못합니다. (Resource를 컨트롤러로 인식)
Resource 사용을 위한 mvc_config.xml 설정
이 문제점은 mvc_config.xml 에 resource에 대한 mapping 정보를 설정을 하여 해결할 수 있습니다.
WEB-INF>mvc_config.xml을 열어 아래 코드를 입력합니다.
<mvc:resources mapping="/resource/**" location="/resource/"/>
mvc:resource에 대한 태그를 간단히 설명하자면...
{실제경로}를 {사용할 경로}로 연결해서 개발하면서 사용하는 경로는 {사용할 경로} 가 됩니다.
하지만, 굳이 두 경로를 분리해서 사용할 일이 없고, 혼란만 가중되어 동일하게 설정합니다.
아래는 이 설정을 진행한 후의 실행 결과입니다.
보시는 것처럼 정상적인 이미지 출력이 가능합니다.
지금은 경로 단위로 Mapping 설정을 진행하였지만,
응용해서 favicon과 같은 것들은 단일 개체 하나만을 설정할 수 있습니다.
<mvc:resources mapping="/favicon.ico" location="/favicon.ico"/>
'개발언어 > Java, Spring' 카테고리의 다른 글
Spring3 Intercepter 사용하기 (0) | 2017.06.05 |
---|---|
Spring3 JSON 사용하기(JACKSON) (0) | 2017.06.04 |
MultipartResolver 설정을 통한 파일전송 (0) | 2017.05.29 |
Spring3에서 한글깨짐 방지를 위한 인코딩 설정하기 (0) | 2017.05.26 |
STS 설치하고 간단한 Spring 프로젝트 생성하기 (0) | 2017.05.24 |