관리 메뉴

nkdk의 세상

21장 dbcp를 이용한 jsp 사용방법 본문

My Programing/JSP and Servlet

21장 dbcp를 이용한 jsp 사용방법

nkdk 2008. 3. 9. 01:07
/// 값을 dbcp에넣어서 돌리는 법입니다.
일단 각 각에 web.xml 에 다음에 파일을 넣습니다.
맨 끝부분

</welcome-file-list>
<resource-ref>
<description>DBCP API</description>
<res-ref-name>jdbc/MyDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

이 부분을 넣어줍니다.

그리고 전체 server.xml 부분에서 다음을 넣습니다.
</host> 윗 부분에 다음과 같이 수정합니다.

<Context docBase="jsp" path="/jsp" reloadable="true" source="org.eclipse.jst.j2ee.server:jsp" >
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/MyDB" password="tiger"
type="javax.sql.DataSource" url="jdbc:oracle:thin:@122.36.151.63:1521:java" username="scott" />
</Context>
</Host>


//자 그림 beandb4.jsp 를 이용하여 dbcp를 구현하도록 하겠습니다. 다음과 같이 하도록 하세요. 하신 후에 서버는 꼭 껏다 키시고요.

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

try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDB");
conn=ds.getConnection();
pstmt=conn.prepareStatement("select * from person");
}catch(Exception e){
System.out.println("DB 연결 실패 : " +e);
return;
}
try{
rs= pstmt.executeQuery();
%>
<html><body><h2>** 개인 자료(DBCP를 이용한 DB연결) **</h2>
<table width=300 border=1>
<tr align=center bgcolor=gold>
<td>번호</td><td>이름</td><td>나이</td>
</tr>
<%
while(rs.next()) {
%>
<tr align=center>
<td><%=rs.getString("bun") %></td>
<td><%=rs.getString("irum") %></td>
<td><%=rs.getString("nai") %></td>
</tr>
<%
}
}catch(Exception e) {
System.out.println("SQL오류 : " +e);
}finally{
try{
rs.close(); pstmt.close(); conn.close();
}catch(Exception exx) {}
}
%>
</table></body></html>


// 다음과 같이 하시면 특별히 db서버에 접속하지 않고서도 server에서 접속되어 있는 상태에서 접속을 하니까 효율적일 수 있겠네요. ^_^ 수고하셨습니다.