본문 바로가기

Interest/web service

Tomcat - Context 경로 설정

Tomcat 5.5 이전 버전의 경우 webapp 설정을 server.xml 에서 몽땅 했다.


ex: 

server.xml

<Host name="localhost" appBase="webapps" ....>

<Context path="xxx" docBase="yyy" ...>


1. <Host> 

이때 appBase 는 상대 경로로 읽히므로 Tomcat설치디렉토리/webapps 가 기본 웹어플리케이션 베이스 디렉토리다.


2. <Context>

이때 path는 URL상의 주소, docBase는 서버 내의 어플리케이션 위치다. 

ex) 

<Context path="/" docBase="/web" ...> : http://localhost/test.jsp 의 경우 /web/test.jsp 파일을 찾아서 출력한다.

<Context path="/my" docBase="/web" ...> : http://localhost/my/test.jsp 의 경우 /web/test.jsp 파일을 찾아서 출력한다.



Tomcat 5.5 이후엔 Context 설정을 따로 파일로 떼내었는데

Context 를 설정하는 디폴트 파일은 ROOT.xml  파일이다.


ex: 

server.xml <Host name="localhost" appBase="webapps" ...>

ROOT.xml <Context path="" docBase="xxx" workBase="yyy">

xxx : 1) 상대경로로 표시할 경우: appBase 디렉토리 밑의 상대경로 또는 

          2) 절대경로로 표시할 경우 : appBase 와 상관 없이 WEB-INF를 포함하는 폴더(war)의 절대 경로


2. <Context>

만약에 Context 를 추가하고 싶다면 [경로명].xml 파일을 만들어서 추가하면 톰캣은 이 [경로명] 을 "context path" (URL) 로 삼고 해당 xml 파일 내의 Context구문으로 정의된 docBase를 어플리케이션 경로로 판단한다.


ex: my.xml <Context path="" docBase="xxx" workBase="yyy">    http://localhost/my/test.jsp

my#sister.xml <Context path="" docBase="xxx" workBase="yyy"> http://localhost/my/sister/test.jsp 


3. appBase 의 서브 디렉토리들은 별도의 context 설정이 없으면 WebRoot 의 서브 경로로 톰캣이 찾는다. 

(context 에 설정된게 우선)


'Interest > web service' 카테고리의 다른 글

Pictures from a develop  (0) 2014.05.23
log4j 문제  (0) 2013.04.03
Openlayers 체험기  (2) 2012.08.29
jQuery 관련 요즘 읽는 책들  (0) 2012.08.29
spring bean 관리  (0) 2012.07.12