Tomcat5.0.19与oracle8.1.7连接池配置指南

80酷酷网    80kuku.com

  oracle
作者:Junsan Jin



日期:2003-12-22



版本:1.2 2005-4-4



信箱:junsan21126.com ; junnef21sohu.com



Blog:http://blog.csdn.net/junnef



声明:本人保留本文的所有权利。




 


第一部分:准备工作:




 


第一步:



       正确安装Oracle8.1.7数据库,正确创建一个开发使用的数据库,如当前所使用的数据库为192.168.0.1:1521中的dbserver数据库,用户erp。




 


第二步:



正确安装tomcat5.0.19。




 


第二部分:正式配置工作




 


第一步:



       找到数据库的驱动程序classes12.zip包,将其重命名为classes12.jar,放到%TOMCAT_HOME%/common/lib下。




 


第二步:



       在%TOMCAT_HOME%/webapps目录下新建一个DBTest目录,并在其下新建一个WEB-INF目录。




 


第三步:



       在%TOMCAT_HOME%/conf目录下找到server.xml文件,找到类似如下的配置部分:




 


<Host name="localhost" debug="0" appBase="webapps"



                 unpackWARs="true" autoDeploy="true"



                xmlValidation="false" xmlNamespaceAware="false">




 


在与之对应的</host>标志之中加入如下配置信息:




 


<Context path="/DBTest" docBase="DBTest"



                      debug="5" reloadable="true" crossContext="true">




 


<Logger className="org.apache.catalina.logger.FileLogger"



             prefix="localhost_DBTest_log." suffix=".txt"



timestamp="true"/>




 


<Resource name="jdbc/myoracle" auth="Container"



              type="javax.sql.DataSource"/>



<ResourceParams name="jdbc/myoracle">



<parameter>



    <name>factory</name>



    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>



</parameter>



 <parameter>



    <name>driverClassName</name>



    <value>oracle.jdbc.driver.OracleDriver</value>



</parameter>



<parameter>



    <name>url</name>



    <value>jdbc:oracle:thin:192.168.0.1:1521:dbserver</value>



</parameter>



<parameter>



    <name>username</name>



    <value>erp</value>



</parameter>



<parameter>



    <name>password</name>



    <value>erp</value>



</parameter>



<parameter>



    <name>maxActive</name>



    <value>20</value>



</parameter>



<parameter>



    <name>maxIdle</name>



    <value>10</value>



</parameter>



<parameter>



    <name>maxWait</name>



    <value>-1</value>



</parameter>



</ResourceParams>



</Context>




 


第四步:



在当前DBTest的目录下的WEB-INF文件夹下,新建一个web.xml文件,在<web-app></web-app>标记之间加入如下代码:




 


<resource-ref>



 <description>Oracle Datasource example</description>



 <res-ref-name>jdbc/myoracle</res-ref-name>



 <res-type>javax.sql.DataSource</res-type>



 <res-auth>Container</res-auth>



</resource-ref>




 


新建的文件需要有:




 


<?xml version="1.0" encoding="ISO-8859-1"?>



    <!DOCTYPE web-app PUBLIC



    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"



    "http://java.sun.com/dtd/web-app_2_3.dtd">




 


说明。




 


完整文件如下:



<?xml version="1.0" encoding="ISO-8859-1"?>



    <!DOCTYPE web-app PUBLIC



    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"



    "http://java.sun.com/dtd/web-app_2_3.dtd">



<web-app>



<resource-ref>



 <description>Oracle Datasource example</description>



 <res-ref-name>jdbc/myoracle</res-ref-name>



 <res-type>javax.sql.DataSource</res-type>



 <res-auth>Container</res-auth>



</resource-ref>



</web-app>




 


第五步:



创建一个测试文件放到DBTest目录下:DBTest.jsp



<% page import="java.sql.*"%>



<% page import="javax.sql.*"%>



<% page import="javax.naming.*"%>



<%



  String foo = "Not Connected";



  System.out.println("###"+foo);



  int bar = -1;




 


try{



   Context initContext = new InitialContext();



   System.out.println("###" + initContext);



  Context envContext  = (Context)initContext.lookup("java:/comp/env");



  System.out.println("###"+ envContext);



  DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");



  System.out.println("###" + ds);




 



 


      if (ds != null) {



        Connection conn = ds.getConnection();



        System.out.println("###" + conn);



             



        if(conn != null)  {



            foo = "Got Connection "+conn.toString();



            Statement stmt = conn.createStatement();



            ResultSet rst =



                stmt.executeQuery(



                  "select * from cc_tab_kucun");// cc_tab_kucun可以是任意一个表名



            if(rst.next()) {



               foo=rst.getString(1);



               //bar=rst.getInt(3);



            }



            conn.close();



        }



      }



    }catch(Exception e) {



      e.printStackTrace();



    }



%>



 <html>



  <head>



    <title>DB Test</title>



  </head>



  <body>




 


  <h2>Results</h2>



    Foo <%= foo %><br/>



    Bar <%=bar %>




 


  </body>



</html>




 


在IE中输入http://localhost:8080/DBTest/DBTest.jsp,如果正常运行显示类似如下所示:


Results


Foo 3980Bar –1




 


则说明成功。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: