티스토리 뷰
이전에 웹 애플리케이션 디렉토리 구조에 대해서 살펴봤었다. 웹 애플리케이션을 war 확장자로 패키징 하고, 이를 Tomcat과 같은 서블릿 컨테이너에 배포해서 서비스를 실행한다고 했었다. 이번 포스팅에서는 직접 war 패키징을 해보고 Tomcat에 수동 배포를 수행해 보려고 한다.
웹 애플리케이션 디렉토리 구조는 아래 글에 정리해 두었다.
https://wanbaep.tistory.com/16
웹 애플리케이션 디렉토리 구조
웹 애플리케이션은 다음과 같은 디렉토리 구조를 가지며 이 구조는 웹 표준 디렉토리 구조이다. WebAppRoot ├── WEB-INF │ ├── classes │ ├── lib │ └── web.xml ├── index.html └── index.
wanbaep.tistory.com
Intellij 에서 Servlet 프로젝트 생성
File > New > Project 선택

프로젝트 정보 입력 후 Finish

Web Application Framework 추가
프로젝트 우클릭 > Add Framework Support... 선택 후 Web Applicaiton 추가


Web Application 을 추가 하는 경우 web 디렉토리가 생성되며 WEB-INF/web.xml (Deployment Descriptor) 배치 파일과 index.jsp파일이 생성된다.

테스트를 위해서 index.jsp 파일 body에 문장을 수정해준다.

war 로 패키징
war 로 프로젝트를 패키징 하기 위해 war Archive 설정이 필요하다.
File > Project Structure... 를 선택한다.

Artifacts > + 선택 > Web Application: Archive 에서 war exploded 선택
war 확장자로 archive 생성을 하겠다는 것을 의미한다.

war 확장자 이름을 적당하게 설정해준다. 이 이름은 application service의 명칭이 된다. 나중에 localhost:8080/webtest 가 애플리케이션 web root 가 된다.

추가한 Artifacts를 빌드한다.


빌드 후 생성된 war 파일을 확인한다.

Tomcat 설치
Tomcat 은 간략한 테스트를 위해 tar.gz 를 다운받아 bin/startup.sh 로 실행했다.
이후 종료시에는 bin/shutdown.sh 를 실행하면 된다.


localhost:8080 으로 접속해서 tomcat이 정상 실행되었는지 확인한다. (기본 포트가 8080으로 설정되어있다.)

Tomcat 에 war 파일 배포
Tomcat 의 webapps 디렉토리 내에 이전에 Build 한 war 패키지를 업로드 해둔다. 그러면 Tomcat이 war파일을 감지하고 해당 디렉토리에 압축해제를 한다.
아래 그림을 보면 처음에는 webtest.war 파일만 있다가 이 후 webtest 디렉토리가 추가로 보이는 것을 볼 수 있다.

webtest path로 접속해서 이전에 작성해둔 body내용이 잘 나오는지 확인한다.

위에서 잘 보면 하나의 디렉토리 단위로 애플리케이션을 구성한다는 점도 확인 할 수 있다. 그리고 수정된 내용을 추가해서 빌드한 war 파일을 업로드 해두면 Tomcat에서 이를 인지하고 다시 압축해제를 하여 변경된 애플리케이션의 내용이 배포되도록 한다.
'BackEnd > Jsp Servlet' 카테고리의 다른 글
| 웹 애플리케이션 디렉토리 구조 (0) | 2021.12.14 |
|---|---|
| 서블릿(Servlet) 프로그래밍 (0) | 2021.12.11 |
| HTTP 프로토콜 살펴보기 (0) | 2021.07.07 |
| 애플리케이션의 변화 과정 (데스크톱 to 웹 애플리케이션) (0) | 2021.06.21 |
- Total
- Today
- Yesterday
- ExpectedException
- 애플리케이션 변화 과정
- StreamBridge
- node add
- 웹 애플리케이션
- WEB-INF
- 데스크톱 애플리케이션
- Spring Cloud Stream
- Java 란
- minikube
- Prometheus Operator
- ServiceMonitor
- minikube node add
- Java 장단점
- DD파일
- MySQL 외부 IP
- 애노테이션 프로세서
- 서버 클라이언트
- 특정 ip
- Java 특징
- Servlet
- kubernetes
- producer
- consumer
- Kafka
- springboot3.x
- cpus
- OneToOne
- Servlet Container
- docker-compose
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
