<Connection Pool>
DBCP(Database Connection Pool)에서 연동 객체를 빌려와 쓴 뒤 반납한다.
: Connection 객체는 처음 만들어질 대 많은 시스템 자원을 요구하지만, connection pool을 사용해 미리 여러 개를 만들어 놓고, 필요할 때마다 빌려쓰고 반납함으로써 즉, 객체를 재사용 함으로써 보다 효율적으로 시스템을 운용할 수 있다.
-DBCP 사용하기
Connection Pool의 메소드
DBCP에서 Connection 메소드를 호출한다.
마지막은 close가 아닌 반납(free)
<ConnectionPool과 Bean을 이용한 연동>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class RegisterMgrPool {
private DBConnectionMgr pool = null;
public RegisterMgrPool() {
try {
pool = DBConnectionMgr.getInstance();
} catch(Exception e) {
System.out.println("Error: 커넥션 얻어오기 실패");
}
}
public Vector<RegisterBean> getRegisterList() {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Vector<RegisterBean> vlist = new Vector<RegisterBean>();
try {
con = pool.getConnection();
String strQuery = "select * from tblRegister";
stmt = con.createStatement();
rs = stmt.executeQuery(strQuery);
while(rs.next()) {
RegisterBean regBean = new RegisterBean();
regBean.setId(rs.getString("id"));
regBean.setPwd(rs.getString("pwd"));
regBean.setName(rs.getString("name"));
regBean.setNum1(rs.getString("num1"));
regBean.setNum2(rs.getString("num2"));
regBean.setEmail(rs.getString("email"));
regBean.setPhone(rs.getString("phone"));
regBean.setZipcode(rs.getString("zipcode"));
regBean.setAddress(rs.getString("address"));
regBean.setJob(rs.getString("job"));
vlist.add(regBean);
} // end loop
} catch(Exception ex) {
System.out.println("Exception" + ex);
} finally {
pool.freeConnection(con);
}
return vlist;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
연동 객체를 얻어온 뒤 데이터를 갖고오는 java 페이지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import = "java.util.*, chapter11.*"%>
<jsp:useBean id="regMgr" class="chapter11.RegisterMgrPool" scope = "page"></jsp:useBean>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP에서 데이터베이스 연동</title>
</head>
<body bgcolor = "#FFFFCC">
<h2>Bean과 커넥션 풀을 사용한 데이터베이스 연동 예제</h2>
<h3>회원정보</h3>
<table bordercolor = "#0000ff" border = "1">
<tr>
<td><strong>ID</strong></td>
<td><strong>PWD</strong></td>
<td><strong>NAME</strong></td>
<td><strong>NUM1</strong></td>
<td><strong>NUM2</strong></td>
<td><strong>EMAIL</strong></td>
<td><strong>ZIPCODE/ADDRESS</strong></td>
<td><strong>JOB</strong></td>
</tr>
<%
Vector<RegisterBean> vlist = regMgr.getRegisterList();
RegisterBean regBean = vlist.get(i);
%>
<tr>
<td><%= regBean.getName() %></td>
<td><%= regBean.getNum1() %></td>
<td><%= regBean.getNum2() %></td>
<td><%= regBean.getEmail() %></td>
<td><%= regBean.getPhone() %></td>
<td><%= regBean.getZipcode() %>/<%= regBean.getAddress() %></td>
</tr>
<%
}
%>
</table><br/><br/>
total records: <%= counter %>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
자바 빈에서 데이터를 갖고와 출력하는 뷰 페이지
'20.03 ~ 20.08 국비교육 > JSP' 카테고리의 다른 글
쿠키 사용 로그인 예제 (0) | 2020.04.29 |
---|---|
세션(Session)과 쿠키(Cookie) (0) | 2020.04.29 |
JSP와 데이터베이스 연동 2. 자바빈즈를 이용한 연동 (0) | 2020.04.28 |
JSP와 데이터베이스 연동 1. 스크립트릿으로의 연동 (0) | 2020.04.28 |
데이터베이스 기본 개념 (0) | 2020.04.28 |