본문 바로가기

tomcat

SPRING 공부 하던 중

TOMCAT 5.5에서의 context 및 jndi 설정


기존 4버젼 까지는 conf/server.xml에 <host></host> 안에 context와 resource 설정을 해주었지만


tomcat 5.5에서는 server.xml에 context를 추가하는 것을 권장하지않고 있다.


5.5에서는


%CATALINA_HOME%/conf/[servicename]/[hostname]/


에 [applicationname].xml 을 만들어서 관리하도록 권장하고 있다.


실제로 5.5 설치 후 위 디렉토리에 가보면 디폴트 application 위치 (%CATALINA_HOME%/WEB-INF/webapps/[applicationname]) 가 아닌 다른 곳에 위치하고 있는 애플리케이션들의 xml 설정 파일들이 존재하고 있다.


admin.xml manager.xml 등


이번 Spring 의 예를 보면


책은 4.X의 톰캣 버젼이었던거 같고


일단 server.xml에 context를 추가하는 것이 아니고 위 위치에다가 chapter1.xml 을


만들어서


<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="chapter1"
         privileged="true" antiResourceLocking="false" antiJARLocking="false">
        
          <Resource name="jdbc/SpringDS"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.driver.OracleDriver"
              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
              url="url"
              username="name"
              password="pass"
              maxActive="20"
              maxIdle="10"
              maxWait="-1"
              removeAbandoned="true"/>
</Context>


를 추가해주면된다.


path 엘리먼트가 없는 이유는 아마 xml의 파일이름이 path의 이름을 가지고 있기 때문이지 않을까 싶다.


web.xml은 해당 애플리케이션이 따로 가지고 있기 때문에 conf/web.xml 과 conf/server.xml은 결국


만지지 않아도 된다는 뜻.


저렇게 설정을 해주고 chapter1의 WEB-INF/web.xml에서


 <resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/SpringDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

이렇게 jdbc/SpringDS를 바라보도록 해주면


OK




context를 설정하는 또 다른 방법은 해당 애플리케이션 밑에 즉


/[applicationname]/META-INF 라는 폴더 아래


context.xml이라는 파일을 만들어서 넣어주면 되기도 한다.