티스토리 뷰
웹 애플리케이션은 다음과 같은 디렉토리 구조를 가지며 이 구조는 웹 표준 디렉토리 구조이다.
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 배치 설명서를 참조해서 서블릿, 필터, 리스너 그리고 매개변수 등을 찾거나 실행한다.
웹 애플리케이션 배치 설명서 - Web Application Deployment Descriptor 이며 DD파일 이라고도 불린다.
'BackEnd > Jsp Servlet' 카테고리의 다른 글
| Intellij Servlet 프로젝트 생성 후 war 배포하기 (0) | 2021.12.27 |
|---|---|
| 서블릿(Servlet) 프로그래밍 (0) | 2021.12.11 |
| HTTP 프로토콜 살펴보기 (0) | 2021.07.07 |
| 애플리케이션의 변화 과정 (데스크톱 to 웹 애플리케이션) (0) | 2021.06.21 |
- Total
- Today
- Yesterday
- Java 장단점
- 데스크톱 애플리케이션
- DD파일
- StreamBridge
- docker-compose
- MySQL 외부 IP
- minikube node add
- Prometheus Operator
- Java 특징
- Java 란
- 애노테이션 프로세서
- kubernetes
- Spring Cloud Stream
- 특정 ip
- consumer
- Servlet Container
- 애플리케이션 변화 과정
- Servlet
- WEB-INF
- producer
- minikube
- Kafka
- ExpectedException
- node add
- OneToOne
- 서버 클라이언트
- 웹 애플리케이션
- cpus
- springboot3.x
- ServiceMonitor
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
