on
웹 애플리케이션 디렉토리 구조
웹 애플리케이션 디렉토리 구조
웹 애플리케이션은 다음과 같은 디렉토리 구조를 가지며 이 구조는 웹 표준 디렉토리 구조이다.
WebAppRoot ├── WEB-INF │ ├── classes │ ├── lib │ └── web.xml ├── index.html └── index.jsp
Intellij나 Eclipse와 같은 에디터에서 웹 애플리케이션을 작성하고 war 패키지로 빌드한 후, 이를 압축 해제 하면 위와 같은 구조가 나오는 것을 확인 할 수 있다.
주로 Tomcat과 같은 서블릿 컨테이너를 동작시켜 두고 Application Root 디렉토리 위치에 {WebApp}.war 파일을 업로드 해두면, 자동으로 .war 파일 압축을 해제한다. 물론 압축 해제된 내용은 위에 구조와 동일하다.
각 파일에 대해서 살펴보도록 하자.
WebAppRoot 위치에 HTML(.html), JSP, JavaScript(.js), CSS(.css) 와 같은 파일들이 위치한다. 해당 위치에 놓이는 파일들은 웹 애플리케이션이 배치 될 때 그대로 옮겨진다.
WEB-INF - 웹 애플리케이션의 설정 파일들이 해당 디렉토리 아래에 포함된다. WEB-INF 내에 있는 파일들은 클라이언트에서 요청할 수 없다. 따라서 html js와 같은 정적 자원은 두지 않는다.
WEB-INF/classes - 컴파일된 자바 클래스(.class) 파일이 있으며, src에 선언된 package가 동일하게 생성된다.
WEB-INF/lib - 애플리케이션 실행에 필요한 라이브러리 즉, jar 파일들을 모아두는 디렉토리이다. jar은 자바 아카이브 파일이란 의미로 Java + ARchive의 합성어로 jar 로 사용된다.
WEB-INF/web.xml - 웹 애플리케이션 배치 설명서 파일이다. 애플리케이션 컴포넌트들의 배치 정보들을 해당 파일에 작성한다. 서블릿 컨테이너는 web.xml 배치 설명서를 참조해서 서블릿, 필터, 리스너 그리고 매개변수 등을 찾거나 실행한다.
from http://wanbaep.tistory.com/16 by ccl(A) rewrite - 2021-12-14 03:27:51