본문 바로가기

Cafe24

Cafe24 JSP 호스팅 - JNDI 사용

Cafe24에서 JNDI 사용시에 JNDI에 대한 설정내용을 반드시 /tomcat/conf/server.xml에 입력해주어야 합니다. /META-INF 폴더안에 context.xml 를 따로 생성하는 방식은 지원되지 않습니다. (Cafe24에서 tomcat 설정 파일 중 외부에 따로 생성할 수 있는 파일은 web.xml 파일 뿐입니다. 따로 생성한 web.xml 파일은 WEB-INF 폴더안에 넣어주면 됩니다.) 

server.xml의 수정은 SSH로 서버에 접속 후 vi 명령어를 이용해서 하면 됩니다. server.xml에서 수정할 내용은 아래와 같습니다. (새로 Context 태그를 추가하는 것이 아니라 기존의 Context 설정을 변경하는 것입니다. Cafe24에서는 기본적으로 Context 태그안의 JNDI 지정하는 부분에 주석처리가 되어있습니다. 따라서 주석 처리된 부분을 해제한 후 JDBC이름, DB이름, DB접속아이디, DB접속패스워드 부분을 변경해주시면 됩니다.) 

<Context path="" docBase="www"> 
   
<!-- Mysql JNDI --> 

   <Resource name="jdbc/JDBC이름(Cafe24에서는 기본적으로 아이디로 지정. 임의로 변경 가능)
     auth="Container" 
     type="javax.sql.DataSource" 
     driverClassName="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://localhost/DB이름(Cafe24에서는 아이디가 DB명)
     username="DB접속 아이디
     password="DB접속 패스워드
     maxActive="20" 
     maxIdle="10" 
     maxWait="3000"
     validationQuery="select 1" /> 

</Context> 

 
 

이와 함께 WebContent/WEB-INF/web.xml에도 JNDI 관련한 사항을 입력해주어야 합니다. 추가해야 할 내용은 아래와 같습니다.

<resource-ref> 
   <res-ref-name>jdbc/JDBC이름(Context안에 지정한 이름과 동일해야 함)</res-ref-name> 
   <res-type>javax.sql.DataSource</res-type> 
   <res-auth>Container</res-auth> 
</resource-ref> 




※ 주의할 점은 SqlMapConfig.xml 파일의 JDBC이름도 동일하게 통일시켜주어야 한다는 것입니다.

<!-- JNDI 연결 설정 -->

<transactionmanager type="JDBC">

   <datasource type="JNDI">

       <property name="DataSource"
                     value="java:comp/env/jdbc/JDBC이름(Context안에 지정한 이름과 동일해야 함)">

       </property>
   </datasource>

</transactionmanager>