[MVC] 자카르타 DBCP API를 이용한 커넥션 풀(Connection Pool)

🐷Jinie (juniorDeveloper)·2020년 11월 6일
1

JSP/MVC/SPRING

목록 보기
33/81
post-thumbnail

1. jar파일 다운받아서 넣기

  • DBCP API관련 라이브러리 총 3개
  • ORACLE을 이용하기위한 jar파일 1개

2. Tomcat servar.xml

  • 붙여넣을 소스 코드와 아래쪽에 넣는 방법을 따로 적었다.
[ 이클립스  Server.xml  ]
    
    [ 추가 1. ]
     <Resource   name="jdbc/orcl" 
     auth="Container" 
     type="javax.sql.DataSource"
     driverClassName="oracle.jdbc.driver.OracleDriver"
     username="system"
     password="1234"
     url="jdbc:oracle:thin:@localhost:1521:xe"
      />
</GlobalNamingResources>

[ 추가 2. ]
      <Resource     name="jdbc/orcl" 
       auth="Container" 
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.driver.OracleDriver"
       username="system"
       password="1234"
       url="jdbc:oracle:thin:@localhost:1521:xe"
       />
      </Context>
      </Host>
    </Engine>
  </Service>
</Server>

[추가 1]

  • Eclipse의 Server폴더> Tomcat폴더 > server.xml > GlobalNamingResources 줄을 찾는다.
  • 해당부분 윗줄에 [추가 1] 소스를 붙여넣는다.

[추가 2]

  • server.xml 파일 아래쪽에 내가 만드는 프로젝트별로 생성된 Context를 찾는다.
  • 그 중 설정을 원하는 프로젝트의 Context태그를 열고 태그 사이에 Resource를 [추가 2]로 붙여넣어준다.

3. 프로젝트에 적용하기

  • 데이터베이스를 연동하는 소스를 만든 파일을 찾는다.
Context  initCtx = new InitialContext();
Context  envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource  ds = (DataSource)envCtx.lookup("jdbc/orcl");
con = ds.getConnection();
  • 해당소스를 파일에 넣어준다.
  • java.sql. / javax.sql. / javax.naming.* 를 import해준다.
  • 위의 사진처럼 소스를 파일에 붙여넣어준다.
  • 처리가 완료된 후 데이터베이스의 내용을 불러오도록 코드를 작성하고
    테스트를 했을때 잘 실행되는것을 볼 수 있다.

4. 소스보기

  • DBCon.jsp파일을 자세히보면 jdbc/orcl을 찾아서 ds로 선언하고
  • ds의 getConnection을 호출해서 DB사용준비를 마친다.
  • jdbc/orcl는 server.xml파일의 내가 넣어준 Resource 부분의 이름에 있다.
  • 이 소스를 가져와서 소스안에 있는 드라이버와 아이디 비밀번호 url을 가져온다.
  • 이것을 이용해서 Connection을 진행할 수 있다.

내가 사용하는 DBMS의 종류에 맞게 소스를 변형해서 사용해야한다.
또한, 사용하는 DBMS에 맞는 드라이버를 가져와야한다.
이렇게 DBCP를 사용하면 개발을 할 때, Connection Pool이 Connection객체를 다 사용하고나면 자동으로 회수해서 좀 더 효율적으로 진행할 수 있다.

DBCP 사용 순서정리
1. DBCP API관련 jar파일 설치
2. server.xml 에서 DBCP에 관한 정보 설정
3. JSP페이지에서 커넥션풀 사용

            
profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글