본문 바로가기

Tomcat

[Tomcat] Tomcat의 webapps폴더 이외의 경로에서 JSP&SERVLET 실행

반응형


※ 이 포스팅은 Tomcat-6.0.36 버전을 기준으로 작성하였기에 다른 버전과 차이가 있을 수 있다.

※ 설정을 맞추는 것만 찾다보니 원리는 잘 파악하지 못하였다.

        -. tomcat 실행시 java tools.jar 연결 및 docBase 설정 내용 참조

※ Context.xml은 이클립스에 탑재된 Tomcat에서 정상적으로 DB에 접근하는 파일을 사용해야 한다.

※ 이 포스팅 내용을 따라하에 앞서

        -. [Tomcat] Tomcat의 webapps폴더에서 JSP&SERVLET 실행 ①

        -. [Tomcat] Tomcat의 webapps폴더에서 JSP&SERVLET 실행 ②

        -. [Tomcat] Tomcat에서 커넥션풀 설정하기

    위 세개의 포스팅의 내용을 충분히 숙지하기를 바란다.



01.  webapps에 존재하는 프로젝트 하나를 Tomcat 설치폴더로 이동시킨다.




02. webapps 폴더는 삭제한다.




03. Tomcat 설치 폴더의 conf 폴더에 위치한 server.xml을 수정한다.




04. 위 내용을 아래와 같이 수정한다.

 server.xml(변경전)

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

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">


        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->


      </Host>
    </Engine>
  </Service>
</Server>

 server.xml(변경후)

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

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       

        <!-- ① appBase 수정 -->

      <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

     
        <!-- ② docBase 추가 -->

      <Context path="" docBase="bookshelf" reloadable="true" crossContext="false">


      <!-- 커넥션 풀 추가 -->
      <Resource name="jdbc/OracleDB"
         auth="Container"
         type="javax.sql.DataSource"
         factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
         maxActive="500"
         maxIdle="100"
         maxWait="10000"
         driverClassName="oracle.jdbc.driver.OracleDriver"
         defaultAutoCommit="false"
         username="scott"
         password="tiger"
         url="jdbc:oracle:thin:@localhost:1521:orcl" />
      </Context>


      </Host>
    </Engine>
  </Service>
</Server>

 설명

 ① appBase가 가리키던 webapps의 내용을 수정한다.

 ② 위 작업중 webapps 폴더에서 옮겨둔 프로젝트 폴더 명을 docBase에 지정한다.

 ③ 커넥션풀 설정이 있다면 위와같이 커넥션 설정을 입력한다.

 ※ 위주석의 한글내용은 *.xml 에 작성할 경우 Error가 발생함으로 실제 소스에서는 반드시 한글 주석을 제거한다.




※ 커넥션풀 설정

 -. [Tomcat] Tomcat에서 커넥션풀 설정하기 에서 설명한것과 마찬가지로 위에 지정한 커넥션 내용은

    Tomcat설치 폴더에서 conf → Catalina → localhost경로의 프로젝트명.xml 파일에 반영된다.

 -. [Tomcat] Tomcat에서 커넥션풀 설정하기 에서의 설명과 마찬가지로 server.xml의 커넥션풀 설정을 수정해도

     아래 위치한 프로젝트명.xml 파일을 직정 수정해야 한다.




반응형