관리 메뉴

거니의 velog

(5) 웹 어플리케이션 서비스하기 본문

Java_Servlet

(5) 웹 어플리케이션 서비스하기

Unlimited00 2023. 8. 21. 17:37

* 이번에는 이클립스에서 개발한 웹 애플리케이션을 실제 사용자에게 서비스하기 위해 배치(deploy)하는 방법을 알아보자.

* 배치란?

- 이클립스에서 개발할 경우 개발자 입장에서는 자신이 만든 기능이 정상적으로 실행되는지 확인하기 위해 
  빈번하게 톰캣을 재실행하곤 한다. 이런 개발 과정을 거쳐 애플리케이션이 완성되면 이제는 실제 사용자들에게 서비스를 해야 한다.
  그 단계에서는 이클립스에 등록된 톰캣에서 실행하는 것은 의미가 없다. 실제로 리눅스나 유닉스 서버에 설치된 톰캣에서 실행해야 한다. 
  그렇게 하려면 이클립스에서 개발한 웹 애플리케이션 예제 소스 전체를 실제로 서비스하는 톰캣으로 이동하여 실행해야 한다. 
  이 과정을 "배치(deploy)한다"고 한다. 즉, 웹 애플리케이션을 실제로 서비스한다는 의미다.

1. 톰캣에 배치하기

* 실제로 웹 애플리케이션 개발은 개발 환경이 편리한 이클립스 같은 개발 도구에서 진행한다. 개발을 마친 후에는 프로젝트를 war 압축 파일로 만든 후 FTP를 이용해 톰캣이 미리 설치된 리눅스나 유닉스 같은 운영 서버에 업로드 한다. 그리고 텔넷(Telnet)을 이용해 bin 폴더의 Tomcat.exe을 다시 실행하면 톰캣 실행 시 war 파일의 압축이 해제됨과 동시에 자동으로 등록되어 웹 애플리케이션이 실행된다.

(1) 이클립스 상단 메뉴에서 File > Export... 를 선택한다.

(2) Web 항목의 WAR file을 선택한 후 Next를 클릭한다.

(3) Browse...를 클릭해 war 파일을 저장할 위치를 지정한다.

(4) 톰캣 폴더의 webapps 디렉터리를 지정하고 webShop.war라는 파일 이름으로 저장한다.

(5) 지정한 war 파일의 경로를 최종 확인한 후 Finish를 클릭해 war 파일을 내보낸다(Export).

(6) 톰캣 디렉터리의 webapps 폴더를 보면 war 파일이 생긴 것을 확인할 수 있다.

(7) 톰캣 루트 디렉터리 하위의 bin 폴더에서 Tomcat9.exe 를 더블클릭하여 실행한다.

(8) 톰캣은 webapps의 war 파일 압축을 해제함과 동시에 자동으로 컨텍스트로 등록한다.

(9) 압축을 해제한 webShop 폴더를 확인해 보면 이클립스에서 생성한 WEB-INF 폴더와 main.html 파일이 보인다.

(10) 이제 웹 브라우저에서 다음과 같이 컨텍스트 이름으로 요청하면 앞의 이클립스에서 실습한 것과 동일한 메시지가 출력된다.

- http://localhost:8090/webShop/main.html


* 톰캣의 wabapps 폴더에 위치하는 웹 애플리케이션은 직접 server.xml에 등록하지 않아도 톰캣 실행 시 자동으로 등록된다. 따라서 webShop.war 를 미리 webapps 폴더에 위치시킨 후 톰캣을 실행하면 톰캣이 알아서 압축을 해제한 후 생성된 웹 어플리케이션을 자동으로 등록해 준다.

* 이클립스에서 프로젝트(웹 애플리케이션)를 만들어 톰캣 컨테이너와 연동해 보았고, 실제 프로젝트를 실행한 후 웹 브라우저로 요청해서 메시지를 출력해 보았다. 또 개발이 완료된 프로젝트를 쉽게 배치하는 방법도 알아보았다.