JSP MVC1 모델 DBCP연동하기

2017. 4. 24. 19:02JSP

1. DBCP( DataBase Connection Pool )


- DataBase 와 Connection 을 맺고 있는 객체를 관리하기 위한 커넥션 풀

- JDBC의 단점을 극복(보안) 하기위해 사용

- 웹 컨테이너가 실행되면서 커넥션(Connection) 객체를 미리 풀(Pool)에 만들어 놓는다.

- DB와 연결된 커넥션(Connection)을 미리 생성해서 풀(Pool)속에 저장해두고 있따가 필요할 때마다 가져다 쓰고 반납!

- 미리 생성해놓기 때문에 DB나 서버에 부하를 줄이고 유동적으로 연결을 관리 할 수 있다.


 2. dbcp 연동하기


#1. tomcat.apache.org 접속

#2. Document 8.0버전 -> 9) JDBC datasource -> Oracle 8i, 9i & 10g 내용의 1,2,3 번소스 복사 

#3. 리소스 태그 복사 / resource-ref 태그복사 / 자바 소스 복사 해야함

#4. 리소스태그 복사해서 server.xml 의 context 항목에 붙여넣는다



tomcat.apache.org 접속 화면 



server.xml 의 context항목에 붙여넣는다


소스에서 

@url="jdbc:oracle:thin:@localhost:1521:xe" , username 과 password 변경한다



#5. 사용자 계정 scott1800 / tiger 만들기

cmd접속 후

sqlplus sys/1234 as sysdba (Enter)

sql> create user scott1800 identified by tiger;

sql> grant connect, resource, create view to scott1800;

sql> conn scott1800 / tiger 

sql> commit ;


=> 계정명 : scott1800 비밀번호 : tiger 


#6. DB생성하기

오른쪽 마우스 - new


Oracle버전은 11g

User name , password을 scott1800 , tiger 로 변경


URL 과 DatabaseName 을 변경해준 뒤 생성한다



#7. 오라클 서버 생성된 모습

 



=> DAO 에 dbcp연동 메서드를 생성 후 연결이 필요할 때마다 메서드를 호출해서 사용할 수 있다.


================ < DAO 소스 > ==================================

package com.koreait.dao;


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;


import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;



public class MemberDAO {


public MemberDAO(){};


//dbcp 만들어 놓자

public Connection getConnection(){

Connection conn = null;

try{

Context initContext = new InitialContext();

Context envContext  = (Context)initContext.lookup("java:/comp/env");

DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");

conn = ds.getConnection();

}catch(Exception e){

e.printStackTrace();

}

return conn;

}

}


public으로 선언해놓아서 어디서든 해당 메서드를 불러서 DB와 연결할 수 있다 !!


'JSP' 카테고리의 다른 글

JSP MVC1 모델 로그인 및 회원가입 ① 로그인페이지  (0) 2017.04.28
JSP MVC1 모델 구성  (0) 2017.04.28
JSP 파일업로드  (0) 2017.04.21
jstl ( Jsp Standard Tag Library )  (0) 2017.04.21
JSP EL  (0) 2017.04.20