3D Graphic Technical Artist
[weblogic study 1] db연동 본문
#0. intro
- 저자
- 서성훈 지음
- 출판사
- 지앤선 | 2009-04-03 출간
- 카테고리
- 컴퓨터/IT
- 책소개
- 웹로직의 진정한 실무서! 'TECH BOOK' 시리즈, 제91...
놀랍게도 사무실 뒷자리에 저자가 앉아계셨다.
저자의 도움을 받아 실무에서 활용하는 웹로직을 읽고 weblogic 실습을 시작하려한다.
우선, weblogic 에서 jdbc data source를 생성해서 table의 값을 읽어오는 실습을 해 보겠다.
** EMP 테이블은 기본적으로 scott/tiger user가 가지고있는 테이블 정보 이므로 jdbc data source 연결 시 user를 scott과 tiger로 지정해 주어야한다.
** 게시글 user권한 주기 참조
#1. jdbc data source 생성
#2. test webApplication deploy
#3. datasource.jsp
<%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="java.util.*"%> <%@ page import="javax.naming.*"%> <%@ page import="java.lang.*"%> <%@ page contentType="text/html;charset=MS949";%> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=MS949"> </head> <% Statement stmt = null; ResultSet rs = null; Connection conn = null; DataSource ds = null; Context ctx=null; try{ /* driver Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Driver생성 Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:kkamidb", "SCOTT", "TIGER"); */ // datasource Hashtable ht=new Hashtable(); ht.put ( Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); ht.put ( Context.PROVIDER_URL,"t3://localhost:7001"); ctx=new InitialContext(ht); ds=(DataSource)ctx.lookup("test/JNDI"); conn = ds.getConnection(); // weblogic pool에 직접접근 // Driver driver = (java.sql.Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance(); // Connection conn = driver.connect ("jdbc:weblogic:pool:eduPool", null); //
stmt = conn.createStatement(); //SQL문장을 생성 String sqlstr = "SELECT '사외' EMPNO, ENAME FROM EMP"; stmt.executeQuery(sqlstr); //SQL문장 실행 rs = stmt.getResultSet(); // ResultSet을 얻어온다. // PreparedStatement stmt = conn.prepareStatement(sqlstr,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); // ResultSet rs = stmt.executeQuery(); %> <html> <body> <table border=1 cellpadding=0 cellspacing=1 > <tr height="25" bgcolor="#E2EBF3"> <td width="100" align="center"> 사외 <td width="100" align="center"> ENAME </tr> <% while(rs.next()) { //ResultSet의 다음 row로 이동시킨고 리턴값은 다음 row가 있으면 “true” out.println(" <tr bgcolor=#FCFEE9> ");
// System.out.println(rs.getString(1)); // System.out.println(rs.getString(2)); %>
<tr height="25"> <td width="100" align="center"><%= rs.getString(1)%> <td width="100" align="center"><%= rs.getString(2)%> </tr>
<% } Thread.sleep(10000); }catch(Exception e) { System.out.println("Error : " + e.toString()); }finally{ rs.close(); stmt.close(); conn.close(); } %> </table> </body> </html> |
#4. 결과
##. outro