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)
댓글 남기기