메이븐 멀티모듈 프로젝트로 개발을 하게 되면 jar 또는 war와 같은 형태로 서브 모듈을 구성하게 된다.
jar 파일에는 대게 공통적으로 사용되는 java 코드들을 몰아 넣고, 메이븐 빌드 시 war 프로젝트의 WEB-INF/lib 디렉토리에 배포하여 사용되어지는데 jsp, css, js 같은 파일들도 이와 같이 사용하기 위해서는 어떻게 해야 하는지에 대해서 찾아보았다.
방법은 간단하다. (servlet 3.0에서만 가능)
다음과 같이 META-INF 하위에 resources 디렉토리를 생성한 후 그 안에 여러 프로젝트에서 공유할 resource를 추가해 주면 된다.
META-INF/resources/image/test.png
META-INF/resources/css/test.css
META-INF/resources/WEB-INF/jsp/common.jsp
우리는 WEB-INF 하위에 jsp 파일들이 있기 때문에 META-INF/resources 디렉토리 하위에 WEB-INF 와 같이 생성해 주었다. 이렇게 생성해 주는 이유는 web-context ROOT 기준에서 META-INF/resources 디렉토리로의 접근이 가능하기 때문이다.
이렇게 설정한 후 웹 애플리케이션을 구동하게 되면 다음과 같이 정적 리소스에 접근이 가능하다.
http://localhost:8080/contextPath/image/test.png
http://localhost:8080/contextPath/css/test.png
'프로그래밍' 카테고리의 다른 글
@RequestMapping value에 property values 주입하기 (0) | 2014.12.05 |
---|---|
Free Java Hotswap DCEVM (3) | 2014.09.01 |
이클립스 에러난 행으로 이동 (단축키) (0) | 2014.08.26 |
스프링 빈 등록 (Java 코드 이용) (0) | 2014.08.13 |
HTTP multipart/form-data raw 데이터는 어떤 형태일까? (13) | 2014.06.30 |
My first Java8 Programming (0) | 2014.06.20 |
bean 엘리먼트의 parent attribute 사용 (0) | 2014.05.22 |
spring util:map 사용 시 key와 value 타입 지정 (0) | 2014.05.17 |