在tomcat5中配置数据库连接池(DBCP)

发表于:2007-06-22来源:作者:点击数: 标签:
首先,在 Oracle 中建立一个名为BOOK的Table, SQL 如下: create table BOOK(BOOK_CODE CHAR(5) NOT NULL, COST NUMBER(7,2)); 插入几条记录: insert into BOOK valueS(B0020,13.50); insert into BOOK valueS(B0220,12.00); …… tomcat 安装路径为D:\tomca

   
  首先,在Oracle中建立一个名为BOOK的Table,SQL如下:
  create table BOOK(BOOK_CODE CHAR(5) NOT NULL,
    COST NUMBER(7,2));
  
  插入几条记录:
  insert into BOOK valueS(B0020,13.50);

  insert into BOOK valueS(B0220,12.00);
  ……
  
  tomcat安装路径为D:\tomcat5,在D:\下的webapps目录下建立自己的web application目录。偶建的目录名为:myapps。然后在自己的目录中建立WEB-INF目录,建议从D:\tomcat5\webapps\jsp-examples\下将WEB-INF目录Copy过来,其中已经配置好了相关设置,特别是加入了jsp2.0这个新东东。现在的目录结构应该为:
  D:\tomcat5
   |------ \webapps
         |------- \myapps
             |------\WEB-INF
  
  现在开始为DBCP做准备工作。将你想配置的database 的JDBC放到D:\tomcat5\common\lib下,注意一定要放”.jar”的文件,如是“.zip”的文件直接改为.jar即可。本例是用一个Oracle的jdbc,偶将classes111.zip更名为classes111.jar放到这里。
  
  下面开始配置xml文件:
  1. 对server.xml的配置:
  用(你习惯的)文本编辑器打开D:\tomcat5\conf\server.xml,找到bug="0">将它改为以下形式,并加入Oracle的设置信息。
  
      prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
      
  oracle" auth="Container"   type="javax.sql.DataSource"/>
  
  
    
     factory
  org.apache.commons.dbcp.BasicDataSourceFactory
   

   
    driverClassName
    oracle.jdbc.driver.OracleDriver
        

       
   url
  jdbc:oracle:thin:@127.0.0.1:1521:aclearcase/" target="_blank" >ccp
  
   

   
   username
   scott
   

   
   password
   tiger
   

   
    maxActive
          20
   

   
   maxIdle
   10
   

   
   maxWait
   10000
   

  

   
  

  
  
  
  
  2.然后再打D:\tomcat5\webapps\myapps\WEB-INF\下的web.xml,加入以下东东:(注意要在之前加)
   
   Oracle Datasource example
   jdbc/myoracle
   javax.sql.DataSource
   Container
  

  
  下面就是写一个JSP代码进入测试了。
  在D:\tomcat5\webapps\myapps\下编写一个test.jsp,内容如下:
  <%@ page import="javax.naming.Context" %>
   <%@ page import="javax.sql.DataSource"%>
   <%@ page import="javax.naming.InitialContext"%>
   <%@ page import="java.sql.*"%>
  
   <%
    DataSource ds = null;
    try{
     Context initCtx = new InitialContext();
     Context envCtx = (Context) initCtx.lookup("java:comp/env");
     ds = (DataSource)envCtx.lookup("jdbc/myoracle");
   if(ds!=null){
   out.println("Connection is OK!");
   Connection cn=ds.getConnection();
   if(cn!=null){
    out.println("cn is Ok!");
   Statement stmt = cn.createStatement();
  ResultSet rst = stmt.executeQuery("select * from BOOK");
   out.println("

rst is Ok!" + rst.next());
    while(rst.next()){
   out.println("

BOOK_CODE:" + rst.getString(1));
    }
    cn.close();
   }else{
    out.println("rst Fail!");
   }
   }
   else
   out.println("Fail!");
    }catch(Exception ne){ out.println(ne);
   }
   %>
  
  最后,进入测试。运行tomcat.bat,打开IE在地址栏中输入:http://localhost:8080\myapps\test.jsp

原文转自:http://www.ltesting.net