본문 바로가기

웹개발

[JSP] 이클립스 + 톰캣 6.0 + 오라클 연결하기 (JDBC)

이클립스 버전 : eclipse 3.4.1
윈도우 버전 : 비스타 얼티밋 64비트
톰캣 버전 : tomcat6.0
오라클 버전 : 9i


1. 다운받은 DBCP파일을 이클립스 프로젝트 WEB-INF/lib 폴더에 넣거나, tomcat설치폴더에 lib 폴더에 넣는다.
2. 이클립스 Servers server.xml 에서 context 부분을 변경해준다.

<Context docBase="work1" path="/work1" reloadable="true" source="org.eclipse.jst.jee.server:work1"/>

변경 ↓

<Context docBase="work1" path="/work1" reloadable="true" source="org.eclipse.jst.jee.server:work1">
<Resource name="jdbc/db" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.10.103:1521:db"
username="ahm" password="ahm" maxActive="20" maxIdle="10"
maxWait="-1"/>

< /Context>

해당 resouce 부분을 추가해준다. * 해당 내용에 url / username / password 는 각자 환경에 맞게 변경해준다.

3. jsp페이지를 생성해서 DB접속이 되는지 테스트한다.

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

Context initCtx = new InitialContext();
Context envCtx = (Context)initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/db");

con = ds.getConnection();
String msg = "disconnection";
if(con != null)
{
msg = "connection";
}
%>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results = <%=msg %></h2>
</body>
< /html>

4. 실행후 connection 글이 보이면 DB접속 성공

5. 실제 개발시에는

class 예 // GetCon.java

import javax.naming.*;
import javax.sql.*;
import java.sql.*;
public class GetCon { public static Connection getCon()
{
try
{
Context a = new InitialContext();
Context env = (Context)a.lookup("java:comp/env");
DataSource ds = (DataSource)env.lookup("jdbc/DB");

return ds.getConnection(); // con으로 리턴해준다.
}
catch(Exception e){ System.out.println("Error");}

return null;
}
}

다음과 같이 클래스로 만들어서 필요한곳에 쓰도록하자~!