JSP Servlet 기초(15) 커넥션풀 (DBCP)
- JSP
- 2018. 1. 31. 18:25
이번엔 커넥션 풀(DBCP) 에 대해
알아보겠습니다.
클라이언트에서 다수의 요청이 발생할 경우
DB에서는 부하가 발생됩니다
이 문제를 막기위해 커넥션 풀(DataBase Connection Pool)
을 이용합니다
먼저 커넥션 풀을 사용하기 위해선
이클립스 좌측 서버의 context.xml 파일을
수정해야합니다
아래 이미지와같이 데이터베이스
연결을 위한 정보들을 입력합니다
다음 Ctrl + s 로 저장해주시면 끝납니다
이렇게 커넥션풀을 설정하면
이전 (13) 포스팅에서 만든 DAO 파일이
간결해집니다
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | package com.jsp.ex; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class MemberDAO { // private String url = "jdbc:oracle:thin:@localhost:1521:xe"; // private String uid = "scott"; // private String upw = "tiger"; private DataSource dataSource; public MemberDAO() { // try { // Class.forName("oracle.jdbc.driver.OracleDriver"); // } catch (Exception e) { // e.printStackTrace(); // } try { Context context = new InitialContext(); dataSource = (DataSource)context.lookup("java:comp/env/jdbc/Oracle11g"); } catch (Exception e) { e.printStackTrace(); } } public ArrayList<MemberDTO> memberSelect() { ArrayList<MemberDTO> dtos = new ArrayList<MemberDTO>(); Connection con =null; Statement stmt = null; ResultSet rs = null; try { // con = DriverManager.getConnection(url, uid, upw); con = dataSource.getConnection(); stmt = con.createStatement(); rs = stmt.executeQuery("select * from member"); while (rs.next()) { String name = rs.getString("name"); String id = rs.getString("id"); String pw = rs.getString("pw"); String gender = rs.getString("gender"); MemberDTO dto = new MemberDTO(name, id, pw, gender); dtos.add(dto); } } catch (Exception e) { e.printStackTrace(); } finally { try { if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(con != null) con.close(); } catch (Exception e) { e.printStackTrace(); } } return dtos; } } | cs |
위에 주석처리된 부분은 기존 DAO파일에
있던 소스들 입니다
18line에 DataSource는 server의
context.xml 에서 만들어주었습니다
'JSP' 카테고리의 다른 글
JSP Servlet 기초(17) EL (0) | 2018.02.02 |
---|---|
JSP Servlet 기초(16) 회원인증 (10) | 2018.02.01 |
JSP Servlet 기초(14) PreparedStatement 객체 (0) | 2018.01.31 |
JSP Servlet 기초(13) DAO, DTO (1) | 2018.01.31 |
JSP Servlet 기초(12) 회원가입 및 회원정보 수정하기 (0) | 2018.01.31 |