最近在網上看到的java+jsp+ tomcat+ mysql 連接池大多數是tomcat 的很多都說得不詳細並且配置不起讓我們很費時間也很腦火今天我終於把最新的tomcat+mysql的連接池配置成功了現在分享如下:
需要的文件:mysqlwinzip(安裝文件)mysqlconnectorjavabinjar(連接驅動程序)apachetomcatexe(安裝文件)
配置tomcat下的conf下的contextxml文件在<context></context>之間添加連接池如下:
<Resource name=jdbc/mysql
auth=Container
type=javaxsqlDataSource
driverClassName=commysqljdbcDriver
url=jdbc:mysql://localhost/test
username=root
password=root
maxActive=
maxIdle=
maxWait= />
上面的參數不用我說了吧這些都知道是什麼意思吧
配置你的應用下的webxml中的<webapp></webapp>之間加入:
xml 代碼<resourceref>
<description>DB Connection</description>
<resrefname>jdbc/mysqlx</resrefname>
<restype>javaxsqlDataSource</restype>
<resauth>Container</resauth>
</resourceref>
大功告成不用在原來的serverxml裡面配置了下面就可以編寫測試程序了這個網上就很多了主要的就上面當然要把連接驅動程序都放到tomcat下的lib下面測試代碼如下:
java 代碼<!doctype html public //wc//dtd html transitional//en
html/strictdtd>
<%@ page import=javasql*%>
<%@ page import=javaxsql*%>
<%@ page import=javaxnaming*%>
<%@ page session=false %>
<html>
<head>
<meta httpequiv=ContentType content=text/html; charset=gb>
<title></title>
<%
outprint(我的測試開始);
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctxlookup(java:comp/env/jdbc/mysql);
Connection conn = dsgetConnection();
Statement stmt = conncreateStatement();
//提示users必須是數據庫已有的表
//這裡的數據庫前文提及的Data Source URL配置裡包含的數據庫
String strSql = select * from users;
ResultSet rs = stmtexecuteQuery(strSql);
while(rsnext()){
outprint(rsgetString());
}
outprint(我的測試結束);
}
catch(Exception ex){
outprint(出現例外信息是:+exgetMessage());
exprintStackTrace();
}
%>
</head>
<body>
</body>
</html>
上面的保證能行我已經測試過了如有問題可以給我留言
xml 代碼
下面是針對
Cannot create JDBC driver of class for connect URL null 異常問題的解決方法
除了contextxml 應用下的webxml文件的正確設置 還有有一個地方設置很關鍵
如果你使用的是 帶有管理monitor的 那個tomcat的話在Eclipse裡 要設置好正確的讀取webxml文件的路徑 如圖
這裡的路徑要設置成 你的workspace裡的那個tomcat 的servers下的 配置文件路徑哦!
這步很關鍵我因為使用的tomcat 是安裝版的在Eclipse裡 添加插件的那種所以讀取的配置文件不一樣貌似要讀取workspace裡配置文件 的文件才可以!!
除了tomcat安裝目錄下的配置文件要注意的 還有workspace裡配置文件還有應用下的配置文件!!
##另一個要注意的是如果你要插入的數據庫字段 有包含id 字段的 要考慮 id是否自動增加!!
經過一番折騰明白了凡事都要靠自己解決網絡只能作為參考真正弄明白原理就不要照著畫瓢了!!
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25964.html