본문 바로가기

Jsp

자카르타 DBCP API 설치 및 테스트

JDBC공부중에 책을보니 JNDI라는 방식이 있었다. 보아하니 매번 소스 코딩할때 커넥션을 연결해주지 않고 커넥션풀을 이용하여 외부 파일에서 쉽게 적용시키도록 하는 방법이다.
자카르타 DBCP API를 설치하기 위해서는 http://commons.apache.org에서
commons-collections-3.2.1, commons-dbcp-1.4, commons-pool-1.5.6 3개의 파일을 받아야한다. 난 자비로우니 파일은 올려두겠다<-(ㅈㅅ;;)


이 세개의 파일은 톰캣의 lib폴더에 저장해두고 이클립스 프로젝트에도 복사해준다.
이런식으로 설정이 끝났다면 연결을 위한 Context.xml파일을 작성해보자.
이 파일은 WebContent/META-INF폴더에 저장해야한다.(난 WEB-INF에다가 만들어놓고 '왜 안돼지??'이 난리 치면서 4시간동안 삽질을 하였으니 주의하길 바란다....ㅠㅠ 부디 나같은 불행한 아이가 나오질 않기를...)

<Context.xml>


<Context>
  <Resource name="jdbc/OrccleDB"//리소스 네임
   auth="Container"
   type="javax.sql.DataSource"
   username="system" //데이터베이스 ID
   password="mmc123" //데이터베이스 passwd
   driverClassName="oracle.jdbc.driver.OracleDriver"
   url="jdbc:oracle:thin:@116.122.31.237:1521:orcl"//url은 설치한 데이터베이스나 SID가 다를수 있으니 주의해서 적길 바란다. 
   maxActive="20"
   maxIdle="10"
   maxWait="-1"/> 
</Context>

다 작성했으면 WEB-INF에 있는 web.xml을 열어보자 .
여기서 <web-app></web-app>태그 사이에 다음과 같이 작성하여 추가하자.
 <resource-ref>
  <description>Connection</description>
  <res-ref-name>jdbc/OrccleDB</res-ref-name>//Context.xml의 리소스네임과 동일하게..
  <res-type>javax.sql.DataSource</res-type>//역시 동일
  <res-auth>Container</res-auth>
 </resource-ref>

이렇게 작성하였으면 이제 테스트를 해보자
다음과 같이 연결을 테스트할 페이지를 작성한다.


<%@ page language="java" contentType="text/html; charset=EUC-KR"
 pageEncoding="EUC-KR"%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>

<%
 Connection connection = null;
 try{
  Context init = new InitialContext();
  DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OrccleDB");
  connection = ds.getConnection();
  
  out.print("<h3>연결</h3>");
 }catch(Exception e){
  out.print("<h3>연결 실패</h3>");
  e.printStackTrace();
  
 }
%>



삽질하고 나서 성공하니 참 기분이 더럽다 ㅡ,.ㅡ;;

다음부턴 뭐를 읽을때 좀 주의해서 읽어야 할듯....

'Jsp' 카테고리의 다른 글

윈도우7 Tomcat6 액세스 거부 에러 해결방법  (0) 2011.10.02