3種配置方法
一.配置全局連接配接池
1.配置server.xml
找到<GlobalNamingResources></GlobalNamingResources>标簽
在起中加入 (代碼段1)
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>
2.配置context.xml
在<Context></Context>中<WatchedResource>WEB-INF/web.xml</WatchedResource>後加入
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
二.在context.xml配置
在context.xml檔案的Context節點中配置Resource
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>
<Context>
三.在server.xml中的Context節點内配置Resource(私有的)
<Context docBase="common" path="/common" reloadable="true" source="org.eclipse.jst.jee.server:common">
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>
</Context>
配置項目的xml,加入
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
用spring的做如下配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
<property name="jndiName"> <value>java:comp/env/jdbc/test</value> </property>
</bean>
測試使用
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="javax.naming.*,javax.sql.*,java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試jndi</title>
</head>
<body>
<%
try {
Context cxt = new InitialContext();
//獲得資料源
DataSource ds = (DataSource) cxt.lookup("java:comp/env/jdbc/test");
//擷取連接配接
Connection conn=ds.getConnection();
out.println(conn);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select 1 from dual");
while(rs.next())
{
out.println(rs.getString("1"));
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</body>
</html>
記得把連接配接資料庫的第三方驅動放到common/lib下
相關參數說明:
name 為目前資料源JNDI的名字,可以随意設定;
auth 為驗證方式;
type 資源類型;
driverClassName 為Oracle驅動引用;
maxActiv 為連接配接池最大激活的連接配接數,設為0表示無限制;
maxIdle 為連接配接池最大空閑的連接配接數,資料庫連接配接的最大空閑時間。超過空閑時間,
資料庫連接配接将被标記為不可用,然後被釋放。設為0表示無限制;
maxWait 為連接配接最大的等待時間,機關毫秒,如果超過此時間将接到異常。設為-1
表示無限制。;
username 為oracle資料庫的一個使用者名;
password 為username的密碼;
url 為連接配接oracle的連接配接位址;
注:driverClassName="oracle.jdbc.driver.OracleDriver"
driverClassName="oracle.jdbc.OracleDriver" 都可以
更多參數說明
http://blog.csdn.net/etjnety/article/details/7767399