본문 바로가기

JAVA개발

[JAVA 개발] resource file 및 favicon.ico 설정

STS MVC 세팅 후 작업시에 js/html/css/jpg파일 및 이미지 파일등의 확장자가 존재하는 리소스 파일들이

웹페이지에서 확인되지 않을것 입니다.

임의 Controller을 통해 테스트 해보겠습니다.  

return 문의 test와 동일하게 test.jsp를 생성하여 WEB-INF -> view 디렉토리 내에 생성하고 body에 img태그를

추가하겠습니다. 

이미지는 webapp 디렉토리 내에 넣고 해당 서버 및 페이지 실행결과 이미지는 깨지며,

콘솔은 No mapping found HTTP request with URI [/test.jpg] in DispatcherServlet with name 'dispatcherServlet'

이라는 경고글이 뜹니다.

이부분을 해결하기 위해 mvc-config.xml에 해당 코드를 추가해 줍니다.

src -> main -> webapp -> WEB-INF -> mvc-config.xml

<mvc:resources location="/resources/" mapping="/resources/**"/>  

mvc:resources의 속성을 간단히 설명해 드리면,

location : 실제 리소스파일들이 들어있는 디렉토리 경로

mapping : 클라이언트 페이지(jsp)에서 지정해주는 리소스 디렉토리

코드 추가후 webapp 폴더 밑에 resources라는 디렉토리를 생성후 깨진 이미지를 해당 폴더로 이동후 재실행

재실행 합니다. 

만약 mvc:resources 태그에서 mapping:"/test/**" 로 기재하여 처리하였다면 <img src="/test/test.jpg" />

와 같이 처리해주시면 됩니다.

보통은 mapping의 디렉토리와 location의 티렉토리를 동일한 명으로 일치하여 처리해줍니다.

실행결과는 정상적으로 이미지 파일이 출력되는것을 볼수 있습니다.

favicon.ico 또한 동일하게 mvc:resource 태그를 이용하여 설정이 가능합니다.

favicon 아이콘 파일은 webroot에 보통 존재하게됩니다.

사용할 favicon.ico 파일을 webapp 디렉토리 밑에 위치 한 다음 아래 코드를 작성해 주시면 정상적으로 favicon

적용이 가능합니다.

특정 1개의 리소스파일을 적용시킬때 사용해주시면 될것 같습니다.