캠핑과 개발

apache tomcat 5.5 이후 버전에서의 Context 생성 방법입니다.


server.xml 파일을 열게 되면 xml Tag가 Service라는 태그의 속성명 name을 찾습니다.

일반적으로는  <Service name="Catalina"> 이렇게 되어 있습니다.


먼저 context를 만들기 위한 폴더를 생성합니다.

service 태그의 name값인 Catalina 폴더를 만들고 다시 그 안에 localhost 라는 폴더를 만듭니다.

최종적으로는 위에 내용대로라면 톰캣경로/conf/Catalina/localhost가 되겠네요


그럼 이제 이하위에 파일을 생성하시면 되는데 파일은 xml 형식입니다.

root Context는 ROOT.xml을 만드시면 되고 기타 context는 컨텍스트명.xml파일로 만드시면 됩니다.


파일이 생성이 되었으면 이제 관련 설정을 파일에 추가하면 됩니다.

test라는 컨텍스트를 만들게 되면 아래와 같은 형식이 되겠습니다.


text.xml  

<?xml version='1.0' encoding='utf-8'?>

<Context path="/test"

         docBase="/home/test/web"

         debug="0"

         reloadable="true"

         crossContext="true">

<Valve className="org.apache.catalina.valves.AccessLogValve"

            directory="/home/test/logs/access"

            prefix="access."

            suffix=".log"

            pattern="common"

            fileDateFormat="yyyy-MM-dd"

            resolveHosts="false"/>

    <Resource name="jdbc/my" auth="Container"

                        type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"

                        url="jdbc:mysql://[ip]:[port]/[db명]?zeroDateTimeBehavior=convertToNull"

                        username="[username]" password="[password]"

                        loginTimeout="10" maxActive="50"

                        maxIdle="10" maxWait="-1" />

</Context>



만약 다른 도메인이나 서브 도메인이 생성되어야 한다면

server.xml에 신규 HOST를 추가한다.

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
    기존 도메인 내용이 있음
</Host>
<!-- 신규로 추가되는 서브 도메인 -->
<Host name="test.anaconda.pe.kr" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>



그리고 /conf/Catalina/폴더 아래에 test.anaconda.pe.kr라는 폴더를 만든다.

/conf/Catalina/test.anaconda.pe.kr와 같은 폴더를 가진다.

그리고 그 아래에 ROOT.xml파일을 만들고 context 정보를 넣어주면 된다.