보안등을 이유로 이제는 직접적으로 server.xml 에 context path 를 기술하지
말고
따로 xml 파일을 만들어서 거기다가 context path 를 기술하라고 한다.
갑자기 머리가 아파온다. 왜 기술이 발전하면 할수록 계속 개발방법론이 변화가
되야하나..ㅡ.ㅡ;;
방식은 아래와 같다.
우선 server.xml 의 Host name 에다가 자신이 만들고 싶은 host name 을
기술한다.
그다음 tomcat 설치디렉토리/conf/Catalina/ 디렉토리 밑에 host name 에 기술한 이름의
디렉토리를 만든다.
그리고 그 디렉토리안에 ROOT.xml 파일을 만들어서 context path 를 지정하는
형식이다.
예)
톰캣 설치디렉토리 :
C:\web\Tomcat
웹 서비스들 페이지가 있는 디렉토리 :
D:\work_nio
웹 서비스 페이지 1 :
D:\work_nio\swing.naver.com\WEB-INF\src
웹 서비스 페이지 2 :
D:\work_nio\me.naver.com\WEB-INF\src
즉, 톰캣이 설치된 디렉토리에서 웹페이지들 및 소스를 나두는것이 아니고
별도의 디렉토리를 만들어서 이곳에서 웹페이지들 및 소스들 넣고 싶은것이다.
보통 이렇게들 많이 운영을 할것이다. apache 의 virtualhost 를 생각하면
될것이다.
위는 swing.naver.com , me.naver.com 으로 웹 서버를 운영하고 싶은 예를
둔것이다.
< 단계 1 >
C:\web\Tomcat\conf\server.xml
편집
<Host name=”localhost” appBase=”webapps” unpackWARs=”true”
autoDeploy=”true” xmlValidation=”false”
xmlNamespaceAware=”false”>
</Host>
이렇게만 있는 부분 바로 아래에 다음과 같이 추가를 해준다.
<Host
name=”swing.naver.com” debug=”0″ appBase=”webapps”
unpackWARs=”true” autoDeploy=”true” xmlValidation=”false”
xmlNamespaceAware=”false”>
</Host>
<Host
name=”me.naver.com” debug=”0″ appBase=”webapps”
unpackWARs=”true” autoDeploy=”true” xmlValidation=”false”
xmlNamespaceAware=”false”>
</Host>
그리고 기본적으로 port 는 8080 으로 되어있는데 이렇게 되면 http://swing.naver.com:8080 이런식으로 주소를
넣어야하니
불편하기 그지없다. port=”8080″ 을 port=”80″ 으로 변경을 하여 http://swing.naver.com 으로 접속할 수 있도록
해준다.
< 단계2 >
C:\web\Tomcat\conf\Catalina 디렉토리 밑에
server.xml 파일에서 입력해준 host name 으로
디렉토리를 만들어준다.
아마 기본적으로 localhost 라는 디렉토리는 있을 것이다.
즉,
C:\web\Tomcat\conf\Catalina\swing.naver.com
C:\web\Tomcat\conf\Catalina\me.naver.com
< 단계3 >
만들어준 디렉토리밑에 ROOT.xml 파일을 각각 만들어준다.
즉,
C:\web\Tomcat\conf\Catalina\swing.naver.com\ROOT.xml
C:\web\Tomcat\conf\Catalina\me.naver.com\ROOT.xml
< 단계4 >
이렇게 만들어준 각각의 ROOT.xml 에 바로 context
path 를 기술해 주면 된다.
C:\web\Tomcat\conf\Catalina\swing.naver.com\ROOT.xml 의
내용
<?xml version=’1.0′
encoding=’utf-8′?>
<Context crossContext=”true”
docBase=”D:/work_nio/swing.naver.com” path=””
reloadable=”true”>
</Context>
C:\web\Tomcat\conf\Catalina\me.naver.com\ROOT.xml 의
내용
<?xml version=’1.0′
encoding=’utf-8′?>
<Context crossContext=”true”
docBase=”D:/work_nio/me.naver.com/” path=””
reloadable=”true”>
</Context>
< 단계 5 >
톰캣을 stop 한 후 start 한다.
이제 웹에서 http://swing.naver.com/index.html 하면
나올거에요~
단, D:/work_nio/swing.naver.com/WEB-INF\src 밑에 index.html 파일이
있어야겠고
이런 도메인 주소를 가지고 있어야겠죠.