http://localhost:8080/edu/index.jsp


웹 애플리케이션 위치

실제 애플리케이션의 루트 디렉터리는 WebContent이다. 이 디렉터리가 톰캣의 webapps의 하위 디렉터리에 해당한다. 애플리케이션의 루트 디렉터리는 URL에서 "/"라는 기호로 접근한다.


웹 애플리케이션 구조

웹 애플리케이션 루트 디렉터리 바로 하위에 WEB-INF 디렉터리이며, WEB-INF 디렉터리에는 web.xml 파일이 있어야 한다.

또한, 현재 웹 애플리케이션에서 서비스하려는 클래스 파일이 있다면 WEB-INF/classes 디렉터리 하위에 있어야 한다. 그리고 클래스 파일들이 jar로 압축되어 있다면 WEB-INF/lib 디렉터리에 있어야 한다. 왜냐하면, 클래스 파일들이 WEB-INF/classes 또는 WEB-INF/lib에 있어야만 WAS로 구성하는 애플리케이션 서버들이 자동으로 인식할 수 있기 때문이다. web.xml 파일과 클래스 파일을 제외한 다른 파일들은 웹 애플리케이션 루트 디렉터리 하위의 어느 곳에 있어도 상관없다.


환경설정 파일 : web.xml

web.xml은 웹 애플리케이션의 서비스 처리에 관한 내용이 정의된 파일이다. 웹서버는 web.xml에 정의된 내용대로 웹 애플리케이션을 실행하기 위한 설정을 수행한다. 정리하자면, web.xml은 웹 애플리케이션 실행에 관해 정의하는 환경설정 파일이며, 웹 애플리케이션 서비스 시작 시 웹서버가 읽어서 사용하는 파일이다.


만일, 직접 만들지 않은 웹 애플리케이션을 유지보수해야 한다면, 제일 먼저 web.xml을 비롯한 환경설정 파일들을 분석해야 한다. 프레임워크를 사용하지 않고 순수 웹 애플리케이션으로 개발된 시스템이라면, web.xml 분석만으로도 전체 흐름을 파악할 수 있다. 참고로 대부분 환경설정 파일은 XML로 작성된다.


서블릿 디렉터리

서블릿이 공식적으로 존재하는 디렉터리로서 모든 WAS의 구조가 같다. 서블릿 디렉터리는 웹 애플리케이션의 루트 디렉터리 하위의 WEB-INF/classes이다. 


1. edu 프로젝트를 마우스 오른쪽 버튼으로 클릭하고, Build Path - Configure Build Path를 선택한다.


2. 자바 빌드 경로(Java Build Path) 설정 화면에서 Source 탭을 선택한 후 Browse를 선택한다.


3. WebContent 아래 WEB-INF 폴더를 선택한 후 Create New Folder를 선택한다.


4. Folder name에 classes라고 입력한 후 OK를 선택한다. 이어서 나오는 폴더 선택 화면에서 다시 OK를 선택한다.


5. 자바 소스의 컴파일 후 출력 위치(Default output folder)가 edu/WebContent/WEB-INF/classes로 지정된 것을 확인한다.


Apply and Close를 클릭하면 classes 폴더가 사라진다. 클래스 파일을 직접 편집할 일이 없기 때문이다. 실제 classes 폴더가 삭제된 것은 아니고, 이클립스의 프로젝트 탐색 창에서만 안 보이는 거다. 


+ Recent posts