1.커넥션풀(DBCP) 사용 이유
- JDBC를 통하여 DB에 연결하기 위해서는 드라이버(Driver)를 로드하고 커넥션(connection)객체를
받아와야 한다.
- JDBC를 사용하면 사용자가 요청을 할 때마다 매번 드라이버를 로드하고 커넥션 객체를 생성하여
연결하고 종료하기 때문에 매우 비효율적이다.
- 이런 문제를 해결하기 위해서 커넥션풀(DBCP)를 사용한다.
2. 커넥션풀(DBCP)
- 웹 컨테이너가 실행되면서 커넥션(connection) 객체를 미리 풀(pool) 에 생성해 둡니다.
- DB와 연결된 커넥션(connection)을 미리 생성해서 풀(pool) 속에 저장해 두고 있다가 필요할
때에 가져다 쓰고 반환한다.
- 미리 생성해두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리할 수 있다.
server.xml
<Context docBase="DataBase" path="/DataBase" reloadable="true" source="org.eclipse.jst.jee.server:DataBase">
<Resource
name="jdbc/pool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
loginTimeout="10"
maxWait="5000"
username="system"
password="1111"
url="jdbc:oracle:thin:@localhost:1521:XE"
/>
</Context>
class MemberDAO
//데이터 베이스에 접근할 수 있도록 도와주는 메소드
public void getCon(){
//커넥션풀을 이용하여 데이터 베이스에 접근
try{
//외부에서 데이터를 읽어들어야 하기에
Context initctx =new InitialContext();
//톰켓 서버에 정보를 담아놓은 고으로 이동
Context envctx =(Context) initctx.lookup("java:comp/env/");
//데이터 소스 객체를 선언
DataSource ds =(DataSource) envctx.lookup("jdbc/pool");
//데이터 소스를 기준으로 커넥션을 연결해주시오
con =ds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
// try{
// //1.해당 데이터 베이스를 사용한다고 선언 (클래스를 등록 = 오라클용 사용 )
// Class.forName("oracle.jdbc.driver.OracleDriver");
// //2.해당 데이터 베이스에 접속
// con=DriverManager.getConnection(url, id, pass);
// }catch(Exception e){
// e.printStackTrace();
// }
}
동영상 강좌와 다르게 모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.
여기서는 jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.
소스 : https://github.com/braverokmc79/jsp_sin
유튜브 동영상 출처 :
강사 : 신형섭(잭임연구원)
저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.














댓글 ( 4)
댓글 남기기