请仔细阅读简介
简介
初始接触这个问题的时候我很困惑,不明白这个到底怎么操作,发了帖子,解决的方法也是帖子提供的,大家可以用百度那个网址,也可以小喷一下我的做法,再此提醒各位,对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>