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 |