关于tomcat连接池的配置,Eclipse+lomboz环境。

类别:Java 点击:0 评论:0 推荐:

Eclipse+lomboz环境开发的j2ee项目,我得项目名称deepsoft,web Moudle名称myapps
deploy以后会自动在tomcat建立下面目录建立一个发布目录
D:\tomcat5
  |------ \webapps
             |------- \myapps-----------------------------------------这个目录是自动生成的。
                     |------\WEB-INF
(1)为了清晰和便于管理,我们为我们这个项目配置数据库连接池的.xml文件。
D:\tomcat5
  |------ \conf
             |------- \Catalina  
这个目录下面你会发现有root,manager,balance等目录,打开你就会发现是tomcat自带的虚拟目录配置文件。
这时我们可以为自己项目建立一个.xml文件。注意:文件名建议用项目名称,我得项目名称是deepsoft.xml
所以我得配置文件如下:
deepsoft.xml
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="webapps" path="/webapps" reloadable="true">
 <Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
<ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSource"/><!--MUST BE NEED-->

  <ResourceParams name="jdbc/sqlserver">

    <parameter>
      <name>driverClassName</name>
      <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    </parameter>

    <parameter>
      <name>url</name>
      <value>jdbc:microsoft:sqlserver://192.168.100.222:1433;DatabaseName=deepsoft</value>
    </parameter>

    <parameter>
      <name>username</name>
      <value>sa</value>
    </parameter>
 
 <parameter>
      <name>password</name>
      <value>sa</value>
    </parameter>

    <parameter>
      <name>maxActive</name>
      <value>4</value>
    </parameter>


    <parameter>
      <name>maxWait</name>
      <value>5000</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>2</value>
    </parameter>

  </ResourceParams>


</Context>
对oracle数据库只要更改相应的url,driverClassName即可。
同时保证你已经安装了必要的驱动,oracle的calss111.jar,和sqlserver的三个驱动文件到tomcat5\common\lib目录下
(2)
然后再打D:\tomcat5\webapps\myapps\WEB-INF\下的web.xml,加入以下语句:(注意要在</web-app>之前加)
   <resource-ref>
  <description>Oracle Datasource example</description>
  <res-ref-name>jdbc/sqlserver</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

NOTICE: NO THIS SENTENCE ,YOU WILL FIND A ERROR OF “CAN'T BOUND JNDI NAME“
(3)
    NOTICE!!!!!!

配置完成
测试页面如下
index.jsp
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->

<%@ 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();
      if (initCtx == null)
        throw new Exception("不能获取Context!");
     
     Context envCtx = (Context) initCtx.lookup("java:comp/env");
     
     ds = (DataSource)envCtx.lookup("jdbc/sqlserver");
 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 ds_test");
        out.println("<p>rst is Ok!" + rst.next());
        while(rst.next()){
                out.println("<P>STUDENT_NAME:" + rst.getString(2));
        }
    cn.close();
    }else{
     out.println("rst Fail!");
    }
 }
 else
  out.println("Fail!");
    }catch(Exception ne){ out.println(ne);
  }
 %>

本文地址:http://com.8s8s.com/it/it15266.htm