我配置tomcat的连接池,我使用的版本是tomcat 5.0.28
数据库sqlserver2000 名字为:test
驱动:已经拷贝到tomcat lib下在tomcat server.xml 中
配置如下:
<Host name="test" appBase="C:\Documents and Settings\Administrator\workspace\test\WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> <Context> <Resource name="jdbc/bn" auth="Container" type="javax.sql.DataSource" >
</Resource>
<ResourceParams name="jdbc/bn">
<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>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=Test</value>
</parameter>
</ResourceParams></Context> </Host>
在tomcat web.xml 中
配置如下:
tomcat\conf\web.xml
加入
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref> 测试代码为:
<%
DataSource ds=null;
Connection conn=null;
try{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
//从Context中lookup数据源
ds=(DataSource)envCtx.lookup("jdbc/bn");
if(ds!=null)
{
out.println("已经获得datasource!");
out.println("<br>");
conn=ds.getConnection();
out.println("rst前");
out.println("<br>");
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from book");
out.println("以下是从数据库中读取出来的数据");
while(rst.next())
{
out.println("bookname:"+rst.getString("bookname"));
out.println("<br>");
}
}
else
out.println("连接失败");
}catch(Exception ne)
{
out.println(ne);
}
%>页面结果为:已经获得datasource!
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
看了好多帖子也没解决,求答 谢谢!!!
数据库sqlserver2000 名字为:test
驱动:已经拷贝到tomcat lib下在tomcat server.xml 中
配置如下:
<Host name="test" appBase="C:\Documents and Settings\Administrator\workspace\test\WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> <Context> <Resource name="jdbc/bn" auth="Container" type="javax.sql.DataSource" >
</Resource>
<ResourceParams name="jdbc/bn">
<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>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=Test</value>
</parameter>
</ResourceParams></Context> </Host>
在tomcat web.xml 中
配置如下:
tomcat\conf\web.xml
加入
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref> 测试代码为:
<%
DataSource ds=null;
Connection conn=null;
try{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
//从Context中lookup数据源
ds=(DataSource)envCtx.lookup("jdbc/bn");
if(ds!=null)
{
out.println("已经获得datasource!");
out.println("<br>");
conn=ds.getConnection();
out.println("rst前");
out.println("<br>");
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from book");
out.println("以下是从数据库中读取出来的数据");
while(rst.next())
{
out.println("bookname:"+rst.getString("bookname"));
out.println("<br>");
}
}
else
out.println("连接失败");
}catch(Exception ne)
{
out.println(ne);
}
%>页面结果为:已经获得datasource!
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
看了好多帖子也没解决,求答 谢谢!!!
解决方案 »
- 跪求一个问题 为什么我用CSS+DIV布局好的页面,IE显示是正常的, 用火狐浏览器看是乱的?怎么解决?
- 怎么JAVASCRIPT代码看起来那么复杂啊?
- script 区内的代码无法运行是怎么回事?
- mysql插入10000条数据时出错,在线等.......
- hibernate多表查询 iterate读取的问题
- 关于jsp内嵌excel的问题(POI)
- 请提供树型结构算法,父子码,高分相送
- 关于参数传递出现的错误?
- 什么是XTP
- ssh整合调用自动生成的dao,通过spring配置sessionfactory注入调用报错
- JSP复选框的全选是如何实现的哪
- 技术交流_——一个能让你感到兴奋的基于Ajax + JSF + Spring + Hibernate的Web系统架构
对照一下你自己写的
Driver driver = null;
try {
driver = DriverManager.getDriver(this.url);
} catch (Throwable t) {
String message = "Cannot create JDBC driver of class '" + ((this.driverClassName != null) ? this.driverClassName : "") + "' for connect URL '" + this.url + "'"; this.logWriter.println(message);
t.printStackTrace(this.logWriter);
throw new SQLNestedException(message, t);
}所以是tomcat找不到配置信息,XML中的url属性没有获取到,那就是你配置的问题了。我在网上没有找到5.0的配置文档。我也是同样的问题,不过我的是6.0的,6.0的配置和你上面的这个不同。官方的代码是
<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
username="scott" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/> 我按照这个解决了。所以推测你的5.0版本的可能配置不是你上面的这种格式,你可以查查。好运