자바 웹을 다루는 기술 4장 - 웹 애플리케이션 이해하기

자바 웹을 다루는 기술 4장 - 웹 애플리케이션 이해하기

4.1 웹 애플리케이션의 정의

웹 애플리케이션이란?

기존의 정적인 웹 애플리케이션의 기능을 그대로 사용하면서 서블릿, jsp, 자바 클래스 들을 추가하여 사용자에게 동적인 서비스를 제공하는 프로그램, 정적 웹 프로그래밍 방식의 단점을 보완하여 서비스를 제공한다.

4.2 웹 애플리케이션의 기본 구조

이러한 구조를 갖추지 않고 실행하면 오류가 발생한다.

WEB-INF : 웹 애플리케이션에 관한 정보 저장, 외부에서 디렉토리 접근 불가

classes : 웹 애플리케이션이 수행하는 서블릿과 일반 클래스들이 위치하는 곳

lib : 라이브러리 압축파일(jar 파일)이 저장되는 곳

web.xml : 배치 지시자로서 일종의 환경 설정 파일

4.3 컨테이너에서 웹 애플리케이션 실행하기

컨텍스트란?

개발자가 정한 위치에 웹 애플리케이션을 생성한 후 그 위치를 server.xml에 등록해 놓고 톰캣을 실행하는 식으로 개발해야 한다. 이때 server.xml에 등록하는 웹 애플리케이션을 컨텍스트 라고한다. 즉, 톰캣이 인식하는 한 개의 웹 애플리케이션이다.

servler.xml에 컨텍스트 등록하기

doBase="실제 웹 애플리케이션의 WEB-INF 디렉터리 위치"

reloadable="true 또는 false"/>

- path : 웹 애플리케이션의 컨텍스트 이름

- docBase : 컨텍스트에 대한 실제 웹 애플리케이션이 위치한 경로 (WEB-INF 상위 폴더까지의 경로)

- reloadable : 실행 중 소스 코드가 수정될 경우 바로 갱신할 지를 설정

톰캣 컨테이너에서의 웹 애플리케이션 동작 과정

실제 웹 브라우저에서 컨텍스트 이름으로 요청할 경우

웹 브라우저에서 컨텍스트 이름으로 요청 요청을 받은 톰켓 컨테이너는 요청한 컨텍스트 이름이 server.xml에 있는지 확인 server.xml에 이런 식으로 존재

doBase="실제 웹 애플리케이션의 WEB-INF 디렉터리 위치"

reloadable="true 또는 false"/>

4. 해당 컨텍스트 doBase에 적혀진 경로로 가서 요청한 파일을 클라이언트 웹 브라우저로 전송

5. 웹 브라우저는 전송된 파일을 브라우저에 나타낸다.

3번에서 만약 요청한 컨텍스트 이름이 등록되어 있지 않다면 404 오류가 발생한다.

4.5 웹 애플리케이션 서비스하기

이클립스에서 개발한 웹 애플리케이션을 실제 사용자에게 서비스하기 위해 배치하는 방법

실제 서비스를 하려면 리눅스나 유닉스 서버에 설치된 톰캣에서 실행해야한다. 그렇게 하려면 이클립스에서 개발한 웹 애플리케이션 예제 소스 전체를 실제로 서비스하는 톰캣으로 이동하여 실행해야 한다. 이 과정을 "배치(deploy)한다" 라고 한다.

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

자세한 사항은 직접 실행하면서 알아보기로 한다.

from http://park-algorithm.tistory.com/10 by ccl(A) rewrite - 2021-09-08 05:01:25