提示:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of cla
ss '' for connect URL 'null'
Cannot create JDBC driver of class '' for connect URL 'null'错误就是连接池没有链接好
步骤一:Tomcat目录下conf文件context.xml,添加数据库连接源,参考代码如下:
<Resource
name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bookStore"
username="sa"
password="123"
maxActive="100"
maxIdle="30"
maxWait="10000"
/>
步骤二:在项目WEB-INF下web.xml中配置
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
(至此配置完毕,接下来是如何连接的问题)
步骤三:测试。测试连接是否成功,可以在页面加入如下代码:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver");
conn = ds.getConnection();
}
catch(Exception e) {
e.printStackTrace();
}
%>
<%
if(null != conn) {
System.out.println("now have in if function");
try {
stmt = conn.createStatement();
rs =stmt.executeQuery("select * from t_book");
while(rs.next()) {
out.println("编号: " + rs.getString(1) + "<br/>");
out.println("作者: " + rs.getString(2) + "<br/>");
out.println("名字: " + rs.getString(3) + "<br/>");
out.println("出版社: " + rs.getString(4) + "<br/>");
out.println("价钱: " + rs.getString(5) + "<br/>");
out.println("折扣: " + rs.getString(6) + "<br/>");
out.println("出版日期:" + rs.getString(7) + "<br/>");
out.println("页数: " + rs.getString(8) + "<br/>");
out.println("开本: " + rs.getString(9) + "<br/>");
out.println("内容简介:" + rs.getString(10) + "<br/>");
out.println("添加时间:" + rs.getString(11) + "<br/>");
out.println("类型: " + rs.getString(12) + "<br/>");
}
}
catch(SQLException e) {
e.printStackTrace();
}
}
%>
如果成功,将显示以下信息:
编号: 1
作者: Ajax高级程序设计
名字: Nicholas C.Zakas
出版社: 人民邮电出版社
价钱: 69.0
折扣: 0.75
出版日期:2008-07-01
页数: 513
开本: 800*1000
内容简介:本书是Ajax领域的名著,详细讲解了帧、JavaScript、cookie、XML和XHR如何与Ajax相关,以及具体的Ajax技术实现...
添加时间:2008-07-01
类型: A
备注(常见错误辨析):
当出现这个错误:org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'.那是因为连接池创建不成功,这时应该检查连接语句。
这里的例子是基于Tomcat6.0+sqlserver2005上运行正常的,Tomcat6.0和其他版本的Tomcat或其他数据库的配置有些差异,所以也可能造成你直接用上面的代码错误。
引用:http://zzxkevin.blog.163.com/blog/static/189212720092216639909