programming/jsp

[jsp] tomcat 6 에서 JNDI 설정하기

labj 2012. 5. 8. 09:59

[jsp] tomcat 6 에서 JNDI 설정하기

1.1 JNDI 설정

(톰캣 전체 적용) 세개 파일에 JNDI 설정을 추가합니다. 

1) $CATALINA_HOME\conf\server.xml

<GlobalNamingResources>

    ...

    <Resource 

      name="jdbc/SpringDS" 

      auth="Container" 

      type="javax.sql.DataSource" 

      username="javajigi" 

      password="password" 

      driverClassName="com.mysql.jdbc.Driver" 

      url="jdbc:mysql://127.0.0.1:3306/spring?autoReconnect=true&amp;characterEncoding=euckr" 

      removeAbandoned="true" 

      removeAbandonedTimeout="60" 

      logAbandoned="true" 

      maxActive="1000" 

      maxIdle="30" 

      maxWait="180" 

    /> 

</GlobalNamingResources>




2) $CATALINA_HOME\conf\context.xml

<Context>

    ...

    <ResourceLink global="jdbc/SpringDS" name="jdbc/SpringDS" type="javax.sql.DataSource"/>

</Context>




3) $CATALINA_HOME\conf\web.xml

<web-app>

    ...

    <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>

</web-app>


(웹프로젝트에만 적용) 

1) [웹프로젝트홈]\WEB-INF\web.xml

<web-app>

...

    <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>

</web-app>



2) [웹프로젝트홈]\META-INF\context.xml

<?xml version="1.0" encoding="UTF-8"?>

<Context antiResourceLocking="false" privileged="true" useHttpOnly="true" >

    <Resource 

      name="jdbc/SpringDS" 

      auth="Container" 

      type="javax.sql.DataSource" 

      username="javajigi" 

      password="password" 

      driverClassName="com.mysql.jdbc.Driver" 

      url="jdbc:mysql://127.0.0.1:3306/spring?autoReconnect=true&amp;characterEncoding=euckr" 

      removeAbandoned="true" 

      removeAbandonedTimeout="60" 

      logAbandoned="true" 

      maxActive="1000" 

      maxIdle="30" 

      maxWait="180" 

    /> 

</Context>



1.2 웹프로젝트에 jar 파일을 복사합니다.

 1) Jakarta-Commons DBCP 

 2) Jakarta-Commons Collections 

 3) Jakarta-Commons Pool 

를 lib에 복사해야 하나 tomcat의 tomcat-dbcp.jar 에 class 파일로 포함되어 있으므로 추가할 필요는 없음

해당하는 웹어플리케이션에 접속할 db의 jdbc jar를 복사합니다.


mysql-connector-java-5.1.19-bin.jar


1.3 테스트하기

test.jsp

<%@ page contentType="text/html; charset=EUC-KR" %> 

<%@ page import="java.sql.*" %> 

<%@ page import="javax.sql.*" %> 

<%@ page import="javax.naming.*" %> 

<% 

    Connection conn = null; 

    PreparedStatement pstmt = null; 

    ResultSet rs = null; 

    try { 

        Context ictx = new InitialContext(); 

        Context ectx = (Context)ictx.lookup("java:comp/env"); 

        DataSource ds = (DataSource)ectx.lookup("jdbc/SpringDS"); 

        conn = ds.getConnection(); 

        pstmt = conn.prepareStatement("SELECT NOW()"); 

        rs = pstmt.executeQuery(); 

        if(rs.next()) { 

            out.println(rs.getString(1)); 

        } 

    } 

    catch(Exception e) { 

        System.out.println(e.toString()); 

        out.println(e.toString()); 

    } 

    finally { 

        if(rs != null) 

            rs.close(); 

        if(pstmt != null) 

            pstmt.close(); 

        if(conn != null) 

            conn.close(); 

        out.println("finally"); 

    } 

%>


1.4 설정이 끝나면 웹서버 실행하고 접속해 봅니다.

 




[jsp] tomcat 6 에서 JNDI 설정하기

'programming > jsp' 카테고리의 다른 글

[jsp] 자바스크립트 로그 만들기  (0) 2012.05.17
[jsp] 해시뱅 #!  (0) 2012.05.10
[JSP] jsp, servlet 흐름에 대해서  (0) 2012.04.30
openfire 참고 사이트  (0) 2012.04.19
openfire Administration Console  (0) 2012.04.19