//DBConnPool.java
package com;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class DBConnPool {
public Connection con; // 데이터베이스 연결을 담당
public Statement stat; // 파라미터 없는 경우 쿼리문 실행할 때 사용
public PreparedStatement psmt; // 파라미터가 있는 동적 쿼리문을 실행할 때 사용
public ResultSet rs; // 쿼리 결과문을 담을 때 사용
//기본 생성자
public DBConnPool(){
try{
Context initCtx = new InitialContext();
Context ctx = (Context)initCtx.lookup("java:comp/env");
//루트 디렉토리에 위치한 java:comp/env를 가져옴.
DataSource source = (DataSource)ctx.lookup("dbcp_myoracle");
con = source.getConnection();
System.out.println("DB커넥션 풀 연결 성공");
}catch (Exception e){
System.out.println("DB커넥션 풀 연결 실패");
e.printStackTrace();
}
}
//연결 해제(자원 반납)
public void close(){
try{
if (rs != null)rs.close();
if (stat != null)stat.close();
if (psmt != null)psmt.close();
if (con != null)con.close();
System.out.println("DB 커넥션 풀 자원 반납 ");
}catch(Exception e){
e.printStackTrace();
}
}
}
<%@ page import="com.common.JDBConnect" %>
<%@ page import="com.DBConnPool" %>
//DBConnPool 클래스 임포트 해줘야함.
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
<title>JDBC 연결</title>
<%-- 요청이 있을 때마다 DB connection을 새로 연결하고 해제하면 시간이 많이 걸린다.
커넥션 풀 Connection Pool
Connection을 미리 생성해두고 필요할 때 가져다 쓰고 완료되면 반납하는 형식--%>
</head>
<body>
<h2>커넥션 풀 연결 테스트 01</h2>
<%
DBConnPool pool = new DBConnPool();
pool.close();
%>
</body>
</html>
//server.xml 부분에 아이디랑 비번 확인해주기
<Resource auth="Container"
driverClassName = "oracle.jdbc.OracleDriver"
type="javax.sql.DataSource"
initialSize = "0"
minIdle="5"
maxTotal ="20"
maxIdle ="20"
maxWaitMillis="5000"
url="jdbc:oracle:thin:@localhost:1521:ORCL"
name="dbcp_myoracle"
username="test"
password="bitc5600"/>

<%@ page import="com.common.JDBConnect" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JDBC</title>
</head>
<body>
<h2>회원 추가 테스트</h2>
<%
//db연결
JDBConnect jdbc = new JDBConnect();
String id = "mj";
String pwd = "1234";
String name = "김민주"
//쿼리문 생성
String sql = "INSERT INTO member VALUES(?, ?, ?, sysdate)";
PreparedStatement psmt = jdbc.con.prepareStatement(sql);
psmt.setString(1, id);
psmt.setString(2, pwd);
psmt.setString(3, name);
//쿼리 수행
int inResult = psmt.executeUpdate();
out.println(inResult + " 행이 입력되었습니다.");
//연결 닫기
jdbc.close();
%>
</body>
</html>

오라클에 만들어둔 MEMBER의 4항목에 들어갈 것이다.

추가하면 추가가 된 걸 볼 수 있다.