1.創建數據庫
2.配置Tomcat中 文件夾爲conf中的context.xml
1.配置context.xml的內容爲:
<Context>
<Resource name="jdbc/gsywjz" auth="Container"
type="javax.sql.DataSource"
username="root"
password="123456"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:31521:orcl"
maxActive="100"
maxIdle="30"
maxWait="10000"/>
</Context>
2.name:指定的Resource 的JNDI名字
3.auth: 指定管理Resource的Manager,他有兩個可選值:Container和Application。Container表示由容器創建 Resource,Appliction表示由Web應用創建和管理Resource
4.type: 指定Resource所屬的java類型
5.maxActive:指定數據連接池中處於活動狀態的數據連接的最大數目
6.maxIdle:指定數據庫連接池中處於空閒狀態的數據庫連接的最大數目,取值爲0,表示不受限制
7.waxWait:指定數據庫連接池中數據連接處於空閒狀態的最長時間(以毫秒爲單位),超出這一時間將會拋異常
8.username:指定連接數據庫的用戶名
9.password:指定數據庫連接的密碼
10.driverClassName:指定連接數據庫的JDBC驅動名程序
11.URL:指定連接數據庫的URL
3導入jar包到Tomcat中lib文件夾下
- jar名稱爲:ojdbc14.jar
- web.xml文件的位置在(MyEclipse)webapps/WebProject/WEB-INF/web.xml
- 配置的內容:
<resource-ref> <description>news DataSource</description> <res-ref-name>jdbc/Message</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
description:對所引用資源的說明
res-ref-name:指定所引用資源的JNDI名字,與<Resource> 元素中的name屬性對應
res-type:指定所引用資源的的類名字,與<Resource> 元素中的type屬性對應
res-auth:指定管理所引用資源的Manager,與<Resource> 元素中的auth屬性對應
4.編寫代碼,使用lookup()方法獲得數據源對象/* * 功能:建立並返回數據庫聯接 Connection * * @param 無 */ public static java.sql.Connection getConnectionDB() throws SQLException { Connection con = null; try { DataSource ds = null; CCreateHome ch = new CCreateHome(); // jndiName = "java:comp/env/jdbc/message";使用lookup方法查找數據源時, //沒有使用前綴("java:comp/env/")+數據源名稱則會報錯 String jndiName = GlobalNames.DB_JNDI_NAME; ds = (DataSource) ch.getHomeByJNDI(jndiName); con = ds.getConnection(); if (con == null) { throw new Exception("連接爲空!"); } } catch (Exception e) { throw new SQLException("連接異常:" + e.toString()); } return con; } /* * 根據傳入的JNDI獲得接口對象 * * @param JNDI 名稱 * * @return HOME的對象 */ public Object getHomeByJNDI(String jndiName) throws Exception { if (jndiName == null || jndiName.trim().equals("")) { throw new Exception("JNDI 名稱不能爲空!"); } try { Context context = new InitialContext(); Object ref = context.lookup(jndiName); return ref; } catch (Exception e) { throw new Exception("查找接口錯誤:" + e.toString()); } }