JSP

[펌] 이클립스 커넥션풀 설정

십억10 2009. 4. 9. 17:57

 

실행환경: eclipse3.3 , Oracle 10g, Tomcat v5.5

 

1. (eclipse내의) server.xml

 

 

 

<GlobalNamingResources> .... </GlobalNamingResources>  탭안에 삽입

 

<GlobalNamingResources>

 

<Resource

auth="Container"

driverClassName="oracle.jdbc.driver.OracleDriver"

loginTimeout="10"

maxWait="5000"

name="jdbc/saida"

password="tiger"

testOnBorrow="true"

type="javax.sql.DataSource"

 url="jdbc:oracle:thin:@localhost:1521:ORCL"

 username="scott"/>

</GlobalNamingResources>

 

2. eclipse 내의 애플리케이션의 /Web-INF/lib/web.xml

 

 

<web-app> ... </web-app> 태그안에 삽입

 

<resource-ref> 
     <description>jsptest db</description>
     <res-ref-name>jdbc/saida</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>

</resource-ref> 

 

 

3. 이클립스내에 context.xml 파일 생성

 

 

<?xml version="1.0" ?>

<Context  reloadable="true">

  <Resource name="jdbc/saida"
                  auth="Container"
                  type="javax.sql.DataSource"
                  driverClassName="oracle.jdbc.driver.OracleDriver"                 
                  loginTimeout="10"
                  maxWait="5000"
                  username="saida"
                  password="1234"
                  testOnBorrow="true"
                  url="jdbc:oracle:thin:@localhost:1521:ORCL"
        />
</Context>

 

4.  테스트용 jsp파일 

 

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page import="java.sql.*,javax.sql.*, javax.naming.*" %>

<%
   
Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;

   
        try {
                // 커넥션을 얻기 위한 전초작업.
                Context initCtx = new InitialContext();
                Context envCtx = (Context) initCtx.lookup("java:comp/env");
                DataSource ds = (DataSource)envCtx.lookup("jdbc/saida");
    
                // 커넥션 얻기
                conn = ds.getConnection();
                //------------------------------------------------------------------ 
                out.println("연결 성공!<br>");
        } catch (NamingException e) {
                throw new ServletException("JNDI 부분 오류", e);
        } catch (SQLException e) {
                throw new ServletException("SQL 부분 오류", e);
        } finally {               
                if (rs != null) { try { rs.close(); } catch (Exception ignored) {} }
                if (stmt != null) { try { stmt.close(); } catch (Exception ignored) {} }
                if (conn != null) { try { conn.close(); } catch (Exception ignored) {} }
        }

%>

 

선행조건..

 

commons-collections-3.2.jar

commons-dbcp-1.2.2.jar

commons-pool-1.3.jar

 

위 세파일을 www.apache.org -> 자카르타 -> commons로 들어가서 다운로드 한후에

 

이클립스의 workspace/프로젝트명/WebContent/WEB-INF/lib 폴더에 넣는다.

 

이클립스를 사용할시 톰켓홈/common/lib 폴더에 위 jar파일이 있으면 충돌이 일어날 수 있으므로

주의하자 (본인은 아직까지 충돌이 일어나지 않아서 그냥 냅두고 있음.. ㅋㅋ)

 

 

 

Mysql의 경우
---------------------------------------------
driverClassName = "com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/database이름"

위와같이 수정

--------------------------------------------

 

[출처] 이클립스 커넥션풀 설정|작성자 연신내

  

test.jsp
0.0MB
server.xml
0.02MB
web.xml
0.0MB
context.xml
0.0MB
ConnectionPoolEx.jsp
0.0MB