日期:2014-05-16  浏览次数:20448 次

tomcat 5.5 / 6.0 数据库连接池配置
1、把数据库驱动包 copy 到 %CATALINA_HOME%\common\lib 下。

2、修改 %CATALINA_HOME%\conf\server.xml 文件,在 <Host> 节点下添加:
<!-- appName 为项目名 --!>
<Context path="/appName" docBase="appName" auth="Container">
	<Resource name="jdbc/oracleDS" scope="Shareable"
		type="javax.sql.DataSource"
		url="jdbc:oracle:thin:@localhost:1521:orcl"
		driverClassName="oracle.jdbc.driver.OracleDriver"
		username="scott" password="tiger"
		maxWait="3000" maxIdle="100" maxActive="10" />
</Context>

(或者在 %appName%\META-INF 下建立 context.xml,内容为上面的代码。)

3、修改 web.xml,在 <web-app> 节点下添加:
<resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/oracleDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>


4、在代码中获取数据库连接:
import java.sql.Connection;

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

public class DBUtil {

    public Connection getConnection() throws Exception {
        Context context = new InitialContext();

        // 获取数据源
        DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/oracleDS");

        // 获取数据库连接
        Connection conn = ds.getConnection();

        if (conn != null && !conn.isClosed()) {
            return conn;
        } else {
            return null;
        }
    }

}


注意:
    第二步中 Resource 节点 的 name 属性值须与第三步中 res-ref-name 节点值和第四步中 DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/oracleDS") 的红色部分一致!