【摘 要】此配置在Eclipse3.0.1、TomCat5.0.28、MySQL 5.0.19测试通过,总结了网上及书上所说的配置方法,也许是我版本的原因,也许是他们说的都不是很完全,我并没有配置成功,所以我特意把成功的配置方法总结下。
1、将数据库驱动程序文件mysql-connector-java-3.1.12-bin.jar放在Tomcat的common/lib中。如果驱动没配置成功会出现错误“Cannot load JDBC driver class 'com.mysql.jdbc.Driver'”;
2、在IE浏览器输入地址:
http://127.0.0.1:8080/admin/,输入TomCat服务器登陆用户名和密码(在安装TomCat时所设置的)
3、
左面的DataSource->选右上角的下拉框Create New Data Source项,在表格输入以下内容(输入内容和效果图如下:)
属性名称
|
属性值
|
说明
|
JNDI Name
|
Jdbc/mysql
|
设置连接池的JNDI名,也就是数据源名,在Java程序中用
|
Data Source URL
|
jdbc:mysql://localhost/testdb
|
数据库连接字符串,testdb为在MySQL中建立的数据库名
|
JDBC Driver Class
|
com.mysql.jdbc.Driver
|
JDBC连接类,即数据库驱动
|
User Name
|
root
|
数据库登陆用户名
|
Password
|
Mysql(安装MySql时所设置的)
|
数据库登陆用户密码
|
Max.Active Connections
|
选择默认
|
连接池的最大数据库连接数。设为0表示无限制
|
Max. Idle Connections:
|
选择默认
|
最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
|
Max. Wait for Connection
|
选择默认
|
最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。
|
Validation Query
|
选择默认
|
验证用的查询语句,可不写
|
4、
在Eclipse建立项目,输入以下代码:
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
Connection con=null;
Statement sm=null;
ResultSet rs=null;
try{
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
con = ds.getConnection();//
建立
Connection
对象
sm = con.createStatement();//
建立
Statement
对象
rs = sm.executeQuery("select * from user");//
建立
ResultSet
对象。数据库
testdb
的表为
user
while(rs.next())
out.println(rs.getString(1)+",");
}
catch(Exception e){
out.println(e.getMessage());
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {}
rs = null;
}
if (sm != null) {
try {
sm.close();
} catch (SQLException e) {}
sm = null;
}
if (con != null) {
try {//
这里不会关闭这个
Connection
,而是将它
Connection
放回数据库连接池。
con.close();
} catch (SQLException e) {}
con = null;
}
}
%>
5、此时直接运行会出现“Name jdbc is not bound in this Context”的错误,因为还没配置。现在开始配置,在Tomcat 5.0安装目录,C:/Program Files/Apache Software Foundation/Tomcat 5.0/conf打开server.xml,在最末尾的</Host>项前输入以下一项
<Context workDir="C:/eclipse/workspace/TestDataPool/bin"
path="/DataPoolWeb"
docBase="C:/eclipse/workspace/TestDataPool/DataPoolWeb" reloadable="true">
<ResourceLink name="jdbc/mysql" type="javax.sql.DataSourcer" global="jdbc/mysql"/>
</Context>
6、
停止Tomcat,重新启动Tomcat,然后运行会发现以下错误“Cannot create JDBC driver of class '' for connect URL 'null'”;
原因:在重新启动Tomcat时,会在C:/Program Files/Apache Software Foundation/Tomcat 5.0/conf/Catalina/localhost目录里产生一个与建立的Web目录同名的XML文件,我的是Web目录是DataPoolWeb,所以产生了DataPoolWeb.xml文件。
打开此文件,会发现在第5步server.xml中配置的Context节,跑到这里了,遗憾的就是没有完全跑到这里,我们手工把以下内容加到Context节里
<ResourceLink name="jdbc/mysql" type="javax.sql.DataSourcer" global="jdbc/mysql"/>
7、再次停止Tomcat,重新启动Tomcat,运行就OK了'