model1,connection pool셋팅
 
model2 -> model1 으로

========= controller.jsp ===============
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*,model.*"%>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
response.setCharacterEncoding("KSC5601");
Vector<Record> vlist = db.getDB();
request.setAttribute("vlist",vlist);
try{
 RequestDispatcher d =request.getRequestDispatcher("view.jsp");  
 d.forward(request,response);  
}catch(Exception e){}

%>
========= controller.jsp=====================
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>
<jsp:useBean id="db" class="model.Database" scope="page"/>
<%
request.setAttribute("vlist",db.getDB());
%>
<jsp:forward page="view.jsp"/>
================================================
 
- connection pool 셋팅

============== datasource.jsp =================

<%@ page contentType="text/html;charset=KSC5601"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>

<%-- Tomcat 5.5에서 DataSource를 사용하여 Connection Pooling을 구현하는 예제
테스트 환경: Tomcat 5.5, JDK 1.6, Oracle 10g(9i), Windows 2003
Tomcat/config/server.xml내의 <Host> </Host> 태그 내부에 다음과 같은 내용을 삽입한 후에 이 예제를 실행한다.
테스트 일자: 5. 8. 2007

<Context path="" docBase="ROOT" debug="1" reloadable="true">
  <Resource name="jdbc/myoracle" auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:mtdi" username="scott"
    password="tiger" maxActive="20" maxIdle="10" maxWait="-1" />
</Context>
--%>

<%
 Context initContext = new InitialContext();
 Context envContext  = (Context)initContext.lookup("java:/comp/env");
 DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
 Connection conn = ds.getConnection();
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("select * from emp");
 while(rs.next()){
  out.print(rs.getString(1)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(2)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(3)+"&nbsp;&nbsp;&nbsp;");
  out.print(rs.getString(4)+"<br>");
 }
 rs.close();
 stmt.close();
 conn.close();
%>
===============================================
JNDI 자바 네이밍 디랙토리 인터페이스
JNDI를 이용하여 데이터 소스 객채 구하기
커넥션풀에 접근
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C:\oracle\ora92\jdbc\lib\ojdbc14.jar

C:\Tomcat\common\lib\ 에넣기

========== Controller.java ==========================


import java.io.IOException;
import java.util.*;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.*;

/**
 * Servlet implementation class for Servlet: Controller
 *
 */
 public class Controller extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setCharacterEncoding("KSC5601");
  Database db = new model.Database();
  Vector<Record> vlist = db.getDB();
 
  request.setAttribute("vlist",vlist);
  try{
   RequestDispatcher d =request.getRequestDispatcher("emp.jsp");  
   d.forward(request,response);  
  }catch(Exception e){}
 

 }          
}

--------------- Database.java --------------------

package model;

import java.sql.*;
import java.util.*;

public class Database {
 Statement stmt;
 Connection conn;
 String str="";
 
 public Database(){
  try{
//   다음 3 라인의 정보를 변경해 주세요//////////////////////////////////////////
   String dbURL = "jdbc:oracle:thin:@localhost:1521:ora92";
   String id = "scott";
   String pwd = "tiger";
   /////////////////////////////////////////////////////////////////////////////////////////////////////////
   Class.forName("oracle.jdbc.driver.OracleDriver");
   conn = DriverManager.getConnection(dbURL, id, pwd);
   stmt = conn.createStatement();
  }catch(Exception e){}  
 }
 
 public Vector<Record> getDB(){
 Vector<Record> v1 = new Vector<Record>();  
 try{
  ResultSet rs = stmt.executeQuery("select * from emp");
  while(rs.next()){      
   v1.add(new Record(rs.getInt(1),rs.getString(2),rs.getString(3)));
  }
  rs.close();
  stmt.close();
  conn.close();
 }catch(Exception e){}
 return v1;
 }

}

---------------- Record.java --------------

package model;

public class Record {
 private int empno;
 private String ename;
 private String job;
 
 public Record(int empno,String ename,String job){
  this.empno = empno;
  this.ename = ename;
  this.job = job;
 }

 public int getEmpno() {
  return empno;
 }

 public String getEname() {
  return ename;
 }

 public String getJob() {
  return job;
 }
}
----------------- emp.jsp -------------------

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*,model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%

response.setContentType("text/html;charset=KSC5601");

request.setCharacterEncoding("KSC5601");

Vector<Record> vlist = (Vector<Record>)request.getAttribute("vlist");
for(int i = 0 ; i < vlist.size() ; i++){
 Record r = vlist.get(i);%>
 <%="번호 : " + r.getEmpno()+ "<br>"%>
 <%="이름 : " + r.getEname()+ "<br>"%>
 <%="직책 : " + r.getJob()+ "<p>"%>
<%}%>

</body>
</html>