一、建议的连接池配置方法:
Tomcat 6 配置 Oracle XE数据库连接池
搞了差不多6个小时,终于把连接池配起来了。快点写下来,免得忘了,呵呵。其实就3步而已。
1、把相关的jar文件复制到tomcat/lib目录中。
主要就是jdbc/lib下的classes12.jar包,还有LIB下的jar包.
2、修改工程目录的WebRoot/WEB-INF/web.xml文件,加入下面的配置:
<resource-ref> <description>Oracle Datasource example</description> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
3、在工程目录的WebRoot/META-INF目录中建立一个名为context.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:XE" username="mss" password="mss" maxActive="50" maxIdle="2" maxWait="10000" /> </Context>
附一个图来说明这两个文件的位置:
配置就这么多了,下面写简单写个测试代码
package com.asi.mss.Utility; import java.sql.*; import javax.naming.*; import javax.sql.*; import org.apache.commons.logging.*; public class OracleClient { private static Log log = LogFactory.getLog(OracleClient.class); /** * 从数据库连接池中获取一个数据库链接 * @return conn 数据库连接 */ public static Connection getConnection() { Context initContext; Context envContext; DataSource ds; try { initContext = new InitialContext(); envContext = (Context)initContext.lookup("java:/comp/env"); ds = (DataSource)envContext.lookup("jdbc/oracle"); Connection conn = ds.getConnection(); return conn; } catch (NamingException e) { log.info(e.getMessage()); e.printStackTrace(); return null; } catch (SQLException e) { log.info(e.getMessage()); e.printStackTrace(); return null; } } }
Over,收队.
二、传统的连接池配制方法:
1.在tomcat的安装目录下修改conf文件下的server.xml文件在server.xml中的之间增加以下配置:
< Context path="/liangku" docBase="liangku" debug="5" reloadable="true" crossContext="true"> < Resource name="jdbc/DBUtil" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=barn" /> < /Context>
2.在webapps/项目名/WEB-INF中的web.xml中之前增加以下配置:
< resource-ref> < description>SQL Server Datasource < res-ref-name>jdbc/DBUtil < res-type>javax.sql.DataSource < res-auth>Container < /resource-ref>
3.把以下几个.jar文件复制到tomcat安装目录下的lib文件夹中(jar可到网上下载)
commons-collections-3.1.jar
commons-dbcp-1.2.1.jar
commons-pool-1.2.jar
msutil.jar
msbase.jar
mssqlserver.jar
commons-collections-3.1.jar
commons-dbcp-1.2.1.jar
commons-pool-1.2.jar
msutil.jar
msbase.jar
mssqlserver.jar
import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class DBUtil { public static Connection getConnection() { try{ Context initContext = new InitialContext(); if(initContext == null ) throw new Exception("No Context"); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/DBUtil"); if (ds != null) { Connection conn = ds.getConnection(); if(conn != null) { return conn; } } }catch(Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) { Connection con = DBUtil.getConnection(); if(con == null){ System.out.println("连接不成功"); } else{ System.out.println("连接成功"); } } }