Tomcat中的配置DBCP

一 首先我们在Tomcat中容器中引入相应的jdbc

首先我们应该拥有这个jdbc,如果找不到,就去相应的官网download.

mysql-connector-java-3.1.13-bin.jar

将上面的这个jdbc  copy到tomcat/lib中去


二 修改tomcat/conf中server.xml

在server.xml中的<GlobalNamingResources>里面配置相应的数据库信息


server.xml:

  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
              
     <!-- maxActive: 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.
     -->
    
     <!-- maxIdle: Maximum number of idle dB connections to retain in pool.
     Set to -1 for no limit. See also the DBCP documentation on this
     and the minEvictableIdleTimeMillis configuration parameter.
     -->
    
     <!-- maxWait: 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.
     -->
    
     <!-- username and password: MySQL dB username and password for dB connections -->
    
     <!-- driverClassName: Class name for the old mm.mysql JDBC driver is
     org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
     Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
     -->
    
     <!-- url: 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.
     -->
    
     <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
     maxActive="20" maxIdle="10" maxWait="50"
     username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/softrc"/>
    
  </GlobalNamingResources>


三 配置tomcat中的context.xml

在context.xml中的<Context>里面配置下面的信息


context.xml:


<Context>
        <ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource" />
</Context>


四 写个类测试下

package com.shaoguan.test;

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class DBCPConn {
    public static Connection getConn() throws Exception{
        Context ctx = new InitialContext();
        DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
        return ds.getConnection();     
    }
}


五 在jsp中显示写数据来看看数据

这里我测试的jsp名称为:testdbcp.jsp


testdbcp.jsp:


<%
        Connection conn = DBCPConn.getConn();
        String sql = "select * from user";
        PreparedStatement pstmt = DBUtil.prepareStatement(conn, sql );
        ResultSet rs = pstmt.executeQuery();
            
        while(rs.next()){
            System.out.println(rs.getInt(1));    
        }
            



%>库是不是真的连接通了


原文地址:https://www.cnblogs.com/bbsno1/p/3253898.html