Web Context 추가하기 5.X 버전
예) /home/cwisky/context01 디렉토리를 Context로 등록하려는 경우
%CATALINA_HOME%\conf\Catalina\localhost 폴더에 test.xml을 생성.
test.xml (localhost폴더에 디폴트로 작성되어 있는 manager.xml 파일을 복사하여 아래의 굵은 부분만 변경하는 것이 좋다)
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/home/cwisky/context01"
privileged="true" antiResourceLocking="false" antiJARLocking="false" reloadable="true">
<!-- Link to the user database we will get roles from -->
<ResourceLink name="users" global="UserDatabase"
type="org.apache.catalina.UserDatabase"/>
</Context>
위의 docBase 속성은 Linux를 사용할 경우이므로, Windows를 사용한다면 'C\context01 와 같이 적용하면 되며, 반드시 test라는 이름이 포함되어야 하는 것은 아니다. xml 파일 이름이 URL에 포함되어 서비스되는 것이다.
reloadable="true"는 컨텍스트의 안에 들어가는 내용이 변경되면 자동으로 다시 로드되도록 설정한 것이며, 이렇게 하면 프로그램을 변경한 후에 톰캣을 다시 시동해야 하는 번거로움을 피할 수 있다.
docBase로 지정된 디렉토리(/home/cwisky/context01)를 생성하고 톰캣 설치시에 디폴트로 생성되어 있는 webapps/ROOT 폴더 안의 내용을 /home/cwisky/context01에 복사하면 컨텍스트 설정이 모두 끝난다.
톰캣을 실행하고 웹브라우저에 http://localhost/test 으로 접속하거나 도메인이 설정된 경우 http://abc.co.kr/test 으로 접속하여 index.jsp가 실행되는지 확인한다.
위의 절차대로 컨텍스를 생성하고 웹브라우저에서 해당 컨텍스트를 접속하려면 주소창에 http://localhost/test 와 같은 주소를 입력해야 하는데, 반드시 컨텍스트 설정 xml 파일의 이름이 포함되어야 한다는 것이다.
만약 새로 생성한 컨텍스트가 컨텍스트 명이 포함되지 않은 URL형태로 접속되기를 기대한다면 다음과 같이 하면 된다.
conf/Catalina/localhost/안에 ROOT.xml파일을 생성하고 위의 xml 파일 내용을 입력하고 저장해 주면 된다. 이렇게 하면 웹브라우저 주소창에 http://localhost 만 입력해도 새로 생성한 컨텍스트가 실행되도록 할 수 있다.
conf/Catalina/localhost/안에 2개의 컨텍스 설정 파일(ROOT.xml, test.xml)이 공존한다면 ROOT.xml에 설정된 컨텍스트가 우선적으로 실행된다.
그림으로 정리해 본다.
Web Context 추가하기 4.X 버전
%CATALINA_HOME%\conf\server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
...
<Context path="/test" docBase="c:\test\"/>
</Host>
<Host></Host> 사이에 <Context path="/home" docBase="c:\home\"/> 추가
이 방법은 5.X 버전에서도 잘 작동하지만, 5.X버전은 위와같이 설정하는 것을 권장하고 있다.