톰켓 6.0 버젼
여러 방법이 있을 수 있겠지만, 손쉬운 방법으로는 conf/server.xml 중
대략 96줄에 있는 <Host> 태그의 appBase를 변경해주거나,
<Host> 태그 내에 <Context> 태그를 추가해주면 된다
말은 쉬우나, 따라하는 것은 쉽지 않기 때문에 예를 들어보면,
우선 톰켓이 기본적으로 보고 있는 루트 컨텍스트는 webapps/ROOT 이다
96: <Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
appBase는 ${catalina-home} 밑의 상대경로를 인자로 받으며,
기본적으로 보안과 context의 통일적인 적용을 이유로 컨텍스트의 루트는 ROOT 디렉토리 밑이 된다.
따라서, 톰켓이 설치가 되면 웹루트는 ${catalina-home}/webapps/ROOT 가 되는 것
보다 쉬운 이해를 위해 이를 3가지 별로 변경을 해본다
1. webapp 자체를 웹루트 디렉토리로 만들고 싶을 때,
단지, <Host> 태그 내에 아래와 같은 컨텍스트를 추가하면 됩니다.
<Context path="" docBase="." reloadable="true"/>
사실 컨텍스트는 더 많은 옵션이 있으나 여기는 최소한의 사항만 적었습니다.
실서버에 적용할 때는 log 부분도 신경을 써주셔야 합니다. 더 자세한 사항은 웹을 검색해 보시기 바랍니다.
2. webapp/test/ROOT를 웹루트 디렉토리로 만들고 싶을 때,
96: <Host name="localhost" appBase="webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
3. d:/env/home/my 를 웹루트 디렉토리로 만들고 싶을 때,
96: <Host name="localhost" appBase="d:/env/home/my"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="." reloadable="true"/>
</Host>
또는,
96: <Host name="localhost" appBase="d:/env/home/"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="my" reloadable="true"/>
</Host>
두설정의 차이는 Context 를 빼먹으면 ROOT를 자동으로 웹루트로 쓴다
톰켓 5.0부터 추가적인 <Context>는 server.xml에 추가하지 않고,
각 웹어플리케이션 디렉토리 별로 META-INF 밑에 context.xml을 추가하게 된다.
웹루트를 appBase와 같이 하려면 이의 설정을 server.xml에서 설정해도 상관없지만
webapps를 루트로 쓰는 것은 특별한 경우가 아니면 지양하는 게 좋으며,
꼭 필요하다면 apache의 redirect를 쓰는 방법 등으로 해결가능
ex)
* - 여기서 DocBase를 잡는 다는 것은
자신이 원하는 위치의 폴더를 작업 공간으로 잡는 것을 말한다.
1. 만약 C:\안에 Happy라는 폴더를 작업공간으로 만들고 싶을 경우
- 자신의 tomcat이 설치되어 있는 폴더 안에 conf\Catalina\localhost 에 Happy.xml 파일을 만들어 준다.
(여기서 xml 파일은 자신이 만들고자 하는 폴더 이름과 같게 한다.)
- localhost 폴더 안에 있는 xml 파일 중 하나를 복사하여 Happy.xml 파일에 붙여 넣기 한다.
- Happy.xml파일을 열고
<Context path="path로 적을 것" docBase="작업공간 위치"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
이 부분만 고쳐주면 된다.
예) <Context path="/Happy" docBase="C:\Happy"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
\- 수정이 끝난 후 tomcat을 재시작 한다.
- Happy폴더 안에 HTML 파일을 아무거나 넣는다.
- 재시작 후 Internet Explorer를 열고 주소창에
http://localhost:지신의 포드번호/Happy/HTML파일명.html 을 입력하여
그 파일의 내용이 보인다면 성공한 것이다.
[출처] Tomcat DocBase 잡는 법|작성자 하얀아이
'프로그래밍 > Server / WAS' 카테고리의 다른 글
Windows Server 2008 R2 특정 URL 불러오는 파일 작성 (0) | 2013.09.09 |
---|---|
tomcat 에러페이지 설정 방법 (0) | 2013.08.16 |
톰캣 에러페이지 설정 (0) | 2012.08.14 |
tomcat 에서 한글 깨질시 catalina.bat을 이용한 한글깨짐 방지 (0) | 2012.08.13 |
Web 용어 정리 (0) | 2012.08.13 |