Tomcat數據庫連接池問題針對mysql 做的

                                                                                                                         請仔細閱讀簡介

簡介  

        初始接觸這個問題的時候我很困惑,不明白這個到底怎麼操作,發了帖子,解決的方法也是帖子提供的,大家可以用百度那個網址,也可以小噴一下我的做法,再此提醒各位,對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&amp;characterEncoding=utf-8</value>
</parameter>
</ResourceParams>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章