請仔細閱讀簡介
簡介
初始接觸這個問題的時候我很困惑,不明白這個到底怎麼操作,發了帖子,解決的方法也是帖子提供的,大家可以用百度那個網址,也可以小噴一下我的做法,再此提醒各位,對xml文件編譯的時候切記它編寫時候的格式問題,這個不是小問題如果你在編寫的時候保存格式和你xml指明格式不一致會導致你的Tomcat加載的時候空指針異常
在做你的代碼修改之前請確保你的開發環境中有Tomcat MyEclipse mysql的驅動程序,這些都可以在我的資源中免費下載
此外尤其要注意一點你的tomcat 版本問題6.0和5.0它們的配置格式是不一樣的,你格式配置錯誤註定無法正常執行下面我們先將Tomcat6.0下的格式說一遍到時候只要改一下Tomcat5.0中<Context></Context>標籤下的內容就可以了
那麼6.0Context下是什麼呢?如下
<Resource
name="jdbc/connectDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="1"
maxWait="5000"
username="root"
password="123"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
/>
接下來就是你的項目中如何寫了
這裏命名爲DBPool項目
項目中也要配置web.xml在<web-app>標籤下
<resource-ref>
<description>connectDB</description>
<res-ref-name>jdbc/connectDB</res-ref-name>----這裏的名稱必須和上面Tomcat設置要一致
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
com.cha14包下建立一個類
JDBCCon_ConnectionPool.java用了獲取連接
package com.cha14;
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
public class JDBCCon_ConnectionPool {
Context ctx = null;
Connection dbConn = null;
String errDesc;
public Connection getConn(){
try{
ctx = new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");
dbConn=ds.getConnection();
}catch (Exception e) {
errDesc = e.toString();
dbConn=null;
}
return dbConn;
}
最後做一個小小測試用Index.jsp就可以了
<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312"%>
<%@ page import="com.cha14.JDBCCon_ConnectionPool" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content" content="text/html;charset=gb2312">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<div align="center">
<%
JDBCCon_ConnectionPool con=new JDBCCon_ConnectionPool();
if(con.getConn()!=null){
out.print("連接成功!");
}
else{
out.print("連接失敗!");
}
%>
</div>
</body>
</html>
最後我們說下Tomcat5.0的配置模式
<Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/connectDB">
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>false</value>
</parameter>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</value>
</parameter>
</ResourceParams>