본문 바로가기
STUDY/JSP

Jsp 11일차 - DBCP

by Anne of Green Galbes 2019. 2. 25.

DBCP


① context.xml 추가

servers > tomcat… > context.xml

<Resource name="jdbc/myOracle" auth="Container"

type="javax.sql.DataSource"

driverClassName="oracle.jdbc.driver.OracleDriver"

url="jdbc:oracle:thin:@192.168.16.8:1521:TestDB"

username="SUZI"

password="A123"

maxActive="20"

maxIdle="10"

maxWait="-1"

/>

maxActive : 사용하는 커넥션 최대수

maxIdle : 사용 안하고 있는 커넥션의 최대수

maxWait : 커넥션을 열기 위해 최대 기다리는 시간

-1: 무기한 기다힘


② web.xml 추가

<!-- DBCP(Database Connection Pool) -->

<resource-ref>

<description>Oracle DataSource</description>

<res-ref-name>jdbc/myOracle</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

③ DBCPConn.java

위치 : src > com.util

package com.util;

import java.sql.Connection;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;

public class DBCPConn {

private static Connection conn = null;

public static Connection getConnection(){

if(conn==null){

try {

//이름과 객체를 바인딩

Context ctx = new InitialContext();

//web.xml에서 환경 설정 읽음

//자바의 설정환경을 evt에 넣음

Context evt = (Context)ctx.lookup("java:/comp/env");

//그 evt에서 jdbc/myOracle을 찾음

DataSource ds = (DataSource)evt.lookup("jdbc/myOracle");

conn = ds.getConnection();

} catch (Exception e) {

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

}

}

return conn;

}

public static void close(){

if(conn!=null){

try {

if(!conn.isClosed())

conn.close();

} catch (Exception e) {

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

}

}

conn = null;

}

}


댓글