快崩溃了~数据库连接池问题:Cannot create JDBC driver of class '' for connect URL 'null'
我的数据库连接池的设置如下:
name="jdbc/mysql"
type="javax.sql.DataSource"
maxActive="4"
maxIdle="2"
username="sa"
maxWait="5000"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
password="123456"
url="jdbc:sqlserver://localhost:1433; DatabaseName=EdocServer_db"
我用的是sqlserver 2005 tomcat5.5的 用eclipse建了一个Dynamic Web Project 名为MyWeb 在下面建立了一个测试数据库连接的testdb.jsp,代码如下:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>JDBC Test</title>
</head>
<body>
<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
ResultSetMetaData md=null;
try
{
Context initCtx=new InitialContext();
DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/mysql");
if(ds!=null)
{
out.println("已经获得DataSource");
out.println(ds.toString());
conn=ds.getConnection();//每次运行到这里就出错了 就抛出异常:Cannot create
//JDBC driver of class '' for connect URL 'null'
stmt=conn.createStatement();
out.println("aa");
rs=stmt.executeQuery("select * from userinfo");
md=rs.getMetaData();
out.println("<table border=1>");
out.println("<tr>");
for(int i=0;i<md.getColumnCount();i++)
{
out.println("<td>"+md.getColumnName(i+1)+"</td>");
}
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString(1)+"</td>");
out.println("<td>"+rs.getString(2)+"</td>");
out.println("<td>"+rs.getString(3)+"</td>");
out.println("<td>"+rs.getString(4)+"</td>");
out.println("</tr>");
}
out.println("</table>");
conn.close();
}
}
catch(Exception e)
{
out.println(e.toString());
System.out.println(e.toString());
}
%>
</body>
</html>
在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与我web文件夹同名的xml文件,即MyWeb.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/quickstart"
type="javax.sql.DataSource"
password="123456"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
maxActive="4"/>
</Context>
WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在server.xml下增加了:
<Context path="/MyWeb" docBase="MyWeb" debug="0" reloadable="true" crossContext="true">
</Context>
被这个问题困扰了很久阿 求高手指点阿~~~~
[解决办法]
请参考这个完成吧!上次给的是一个老版本。
http://www.java2000.net/viewthread.jsp?tid=484
1 tomcat 5.5.26
2 在MyWeb.xml 里面配置数据源
3 在web.xml 里面设置参数
4 这样就可以用了
无需修改server.xml.
建议你,重新解压缩一个tomcat,因为我怀疑你的server.xml被你修改过了。
用这个全新的tomcat,按照我的那个文章,重新做一遍。
我早上测试了一次,没有任何问题,可以正常工作!
[解决办法]
这个真不知道你是那里出问题了。
要是可以,把代码和配置文件贴出来吧。
解决的你呢个快一点