다음 이전 차례

4. Jakarta-tomcat/conf 디렉토리의 server.xml 보기

tomcat에서server.xml 은 중요한 화일이다. 화일내의 중요한 설정요소로는 Server,Logger,ContextManager ,ContextInterceptor와 RequestInterceptor,Connector,Context 등이 있으며 그중에 기초적으로 알아야 할 부분은 Context 가 아닌가 싶다. 필자가 모든 요소에 대해 알고 있지는 않은 상태이며 최소한의 부분만 짐작하고 있을 뿐이다.

Server.xml 에서 Context 설정부분은 Web Application(Servlet이나 JSP)이 위치할 장소를 설정하며 WEB 상의 PATH(경로)를 설정한다. 기타 재컴파일된 서블릿을 자동으로 재로딩한다.

참고로 Context(webapps,work)의 base 디렉토리는 ContextManager 의 Home이며 TOMCAT_HOME 하고는 의미가 다르다. 만약 ContextManager 의 Home 이 /usr/local/jakarta-tomcat 이면 샘플용의 Web Application 이 포함된 webapps 의 절대경로는 /usr/local/jakarata-tomcat/webapps 이다. 실제로 샘플용의 web application(servlets,JSPs) 가 들어 있는 경로는 /usr/local/jakarta-tomcat/webapps/examples/WEB-INF/classes 이다.

기타 work 디렉토리는 Tomcat 실행중 중간 형태의 파일이 위치하며(예를 들어 컴파일된 JSP 파일) 이 디렉토리가 Tomcat 실행중에 삭제된다면 JSP 가 실행이 되지 않는다.

아래는 화일은 모든 내용은 아니지만 다음의 부분만 보자.

<Context path="/examples" docBase="webapps/examples" debug="0" reloadable="true">
</Context>

<Context path="/pgsql" docBase="webapps/pgsql" debug="0" reloadable="true"> 
</Context>

<Context path="/websql" docBase="webapps/websql" debug="0" reloadable="false"> 
</Context>

Context는 이전의 jserv 에서 리포지터리 역활을 하는 ZONE 과 같은 것으로 보인다.

제일 위의 examples 는 샘플용의 예제가 있으며 tomcat 의 설치 후 web 상에서 바로 실행할 수가 있다. 샘플용의 예제는 examples/WEB-INF/classes 에 있다.

샘플용인 examples 의 Hello 서블릿을 실행하기 위한 위의 WEB 상의 주소는 http://your_host_address/examples/servlet/Hello 이다.

web상에서 examples를 /examples/servlet 로 사용하는 이유는 다음과 같다.

tomcat 이 시작되면 conf 디렉토리의 server.xml 을 참조한 후 tomcat-apache.conf를 자동 설정한다. 그 중에 Context 에 설정된 PATH 를 참조하여 자동으로 적절하게 설정한다. 바로 이파일(tomcat-apache.conf)에 examples 를 들어가는 경로가 examples/servlet 로 설정된다.(여기에 대한 사항은 tomcat 실행후 이 파일을 참조하기 바란다.) tomcat-apache.conf 가 설정된 후에 아파치를 기동하면 아파치는 Tomcat에 의해 자동 설정된 tomcat-apache.conf 를 참조하여 실행된다.

reloadable="true"는 Auto-reloadable 이며 false이면 웹 어플리케이션의 Auto-reloadable 이 되지 않는다.

기타 pgsqlwebsql 은 필자가 테스트를 위해 만든 것이다. 이 두개의 디렉토리는 webapps 디렉토리에 생성하였고 각각의 디렉토리에는 또 다른 하위 디렉토리를 만들어야 한다.(WEB-INF/classes) 다음은 그 예이다.

webapps/pgsql/WEB-INF/classes
webapps/websql/WEB-INF/classes

최종 디렉토리인 classes 에 서블릿 클래스들이 들어가면 되며 tomcat 실행후 tomcat 디렉토리의 "tomcat-apache.conf" 를 보라

다음은 pgsql을 브라우져에서 사용하는 URL 예이다.

http://210.110.144.235/pgsql/servlet/example_servlet

위의 example_servlet 는 서블릿(example_servlet.class)이며 "pgsql/WEB-INF/classes" 이 있다.


다음 이전 차례