如果你的英文好的话,可以看看tomcat自己的说明,本身就有啊,你去找一下,在它的welcome.jsp里就有.数据库连接池DBCP对吧?我就是看的那个,还有就是,所谓的数据库连接池,是相当于水池子的作用吧,你要连接的是两个数据库,虽然密码一样但是它(DBCP)只能在一个库下起作效果,你的jdbc如果同时连接两个库的话,好像DBCP作用不是很大吧?

解决方案 »

  1.   

    到SERVER。XML-》CONNECTOR配置一下,
      

  2.   

    在server.xml和web.xml中配置,一下是我的配置:
    在server.xml中的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/TestDB"
                   auth="Container"
                   type="javax.sql.DataSource"/>  <ResourceParams name="jdbc/TestDB">
        <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>    <!-- Maximum number of dB connections in pool. Make sure you
             configure your mysqld max_connections large enough to handle
             all of your db connections. Set to 0 for no limit.
             -->
        <parameter>
          <name>maxActive</name>
          <value>100</value>
        </parameter>    <!-- Maximum number of idle dB connections to retain in pool.
             Set to 0 for no limit.
             -->
        <parameter>
          <name>maxIdle</name>
          <value>30</value>
        </parameter>    <!-- Maximum time to wait for a dB connection to become available
             in ms, in this example 10 seconds. An Exception is thrown if
             this timeout is exceeded.  Set to -1 to wait indefinitely.
             -->
        <parameter>
          <name>maxWait</name>
          <value>10000</value>
        </parameter>    <!-- MySQL dB username and password for dB connections  -->
        <parameter>
         <name>username</name>
         <value>sa</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>12388321</value>
        </parameter>    <!-- Class name for the old mm.mysql JDBC driver - uncomment this entry and comment next
             if you want to use this driver - we recommend using Connector/J though
        <parameter>
           <name>driverClassName</name>
           <value>org.gjt.mm.mysql.Driver</value>
        </parameter>
         -->
        
        <!-- Class name for the official MySQL Connector/J driver -->
        <parameter>
           <name>driverClassName</name>
           <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
        </parameter>
        
        <!-- The JDBC connection url for connecting to your MySQL dB.
             The autoReconnect=true argument to the url makes sure that the
             mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
             connection.  mysqld by default closes idle connections after 8 hours.
             -->
        <parameter>
          <name>url</name>
          <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mywebdata1</value>
        </parameter>
      </ResourceParams>
    </Context>
    在web.xml中加入:
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/TestDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
    </resouce-ref>
    你照着这个配吧
      

  3.   

    为什么不行呢?error:Cannot create JDBC driver of class '' for connect URL 'null'
      

  4.   

    测试代码:
    <%@ page  contentType="text/html;charset=GBK" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="javax.naming.*"%><% 
     
       try
      {
       Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/sessiontestDB");
    Connection conn = ds.getConnection();   Statement stmt = conn.createStatement();
       String strSql = " select * from WEB_USER_DETAIL";
       ResultSet rs = stmt.executeQuery(strSql);
       while(rs.next())
         {
          out.print("dd");                 
         }
       }
       catch(Exception ex)
      {
         out.print("error:"+ex.getMessage());
       ex.printStackTrace();
       }
    %>
    //---------------------------------------------------
    <?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>
      <display-name>Welcome to Tomcat</display-name>
      <description>
         Welcome to Tomcat
      </description>
    <!-- JSPC servlet mappings start -->    <servlet>
            <servlet-name>org.apache.jsp.index_jsp</servlet-name>
            <servlet-class>org.apache.jsp.index_jsp</servlet-class>
        </servlet>    <servlet-mapping>
            <servlet-name>org.apache.jsp.index_jsp</servlet-name>
            <url-pattern>/index.jsp</url-pattern>
        </servlet-mapping>
    <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/sessiontestDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <!-- JSPC servlet mappings end --></web-app>
    //-------------------------------------------------------
    <?xml version='1.0' encoding='utf-8'?>
    <Server>
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
      <GlobalNamingResources>
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        <Resource name="sessiontestDB" type="javax.sql.DataSource"/>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>
        <ResourceParams name="sessiontestDB">
          <parameter>
            <name>maxWait</name>
            <value>5000</value>
          </parameter>
          <parameter>
            <name>maxActive</name>
            <value>4</value>
          </parameter>
          <parameter>
            <name>password</name>
            <value>1234</value>
          </parameter>
          <parameter>
            <name>url</name>
            <value>jdbc:microsoft:sqlserver://localhost:9433;DatabaseName=TESTDATA</value>
          </parameter>
          <parameter>
            <name>driverClassName</name>
            <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
          </parameter>
          <parameter>
            <name>maxIdle</name>
            <value>2</value>
          </parameter>
          <parameter>
            <name>username</name>
            <value>sa</value>
          </parameter>
        </ResourceParams>
      </GlobalNamingResources>
      <Service name="Catalina">
        <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8443">
        </Connector>
        <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
        </Connector>
        <Engine defaultHost="localhost" name="Catalina">
          <Host appBase="webapps" name="localhost">
            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
          </Host>
          <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
        </Engine>
      </Service>
    </Server>