永发信息网

tomcat6 数据源链接错误Cannot create JDBC driver of class '' for connect URL 'null'

答案:2  悬赏:0  手机版
解决时间 2021-02-27 22:59
  • 提问者网友:你挡着我发光了
  • 2021-02-26 23:39
这问题已经捣鼓两天了,尝试在这碰到高手解答,先谢了
我是用vbox内装centosServer做的虚拟主机机,用samba将整个目录映射的我的主机Centos桌面版,然后用eclipse在映射的目录内工作,本来好好的,后来切换WIN8,win8当机,强制重启后,将虚拟机文件破坏,无奈重装了VBOX,结果数据源配置一直出错

org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
我用的tomcat6 .mysql版本是

mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386)
java 版本:

java version "1.7.0_51"
数据库链接的驱动:(并将其只拷贝到了/usr/share/tomcat6/lib下,将/WEB-INF/lib/下的删除了)

mysql-connector-java-5.1.29-bin.jar

配置META-INF/context.xml如下:


username="usname" password="dbpass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/lyshwUser?characterEncoding=UTF-8">


配置WEB-INF/web.xml如下

DB Connection
jdbc/lyshwUser
javax.sql.DataSource
Container

servlet代码如下:

Context ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/lyshwUser");
//**这里是临时加上的getConnection();
Connection con=ds.getConnection();
//只要执行上面的ds.getConnection();直接就抛出异常
百度,google了N多方法,都无效,其实tomcat6应该就配置这几个文件就可以了,还有work
/ 和conf/Catalina/localhost/ 下的文件删了N次,都不见效果,vbox虚拟
机未出问题是一只好好的,出问题后,重新搭配环境居然一直不行,郁闷了,求各位高手帮忙找下问题。

先感谢楼下两位的热心回答。
我没有修jar包。
我 说下我都 尝试过的步骤:
我先将jdbc5.1.29的jar包在两个 lib目录下都删除,结果报错空指针异常什么的,然后拷贝到web-inf/lib下一份,不报空指针异常,但还是出现老问题,然后再删除-空指针异常 。然后拷贝到tomcat6/lib目录下,没有空指针异常,这是不是说明在tomcat6/lib下,这个jar包也能工作了 ?而且我看的孙伟鑫老师的书上说数据源是由servlet管理,必须要将这个jar包拷贝到tomcat6/lib目录下(顺便提下,两个lib目录下同时存在过jdbc驱动的jar包我也试过),而且我还是过至少3个驱动的jar包,一个是3.xx的包,一个是原书带的名字就是mysqldriver.jar,原书带的版本低了,不好用。
web-inf/web.xml中的标签我直接删了,报错不能绑定数据源,然后将此标签加到 /conf/web.xml 内,不报错,我将context.xml内的name改名后没有特殊的报错,此文件是用的utf-8格式,难道真的是这个文件不工作?可应该怎么改?
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-02-27 00:52
个人感觉META-INF/context.xml里面的设置没有读进来啊,而且你是直接在mysql的jdbc驱动jar里写的吗?个人不是太喜欢这样的做法,最好不要碰官方的jar包,配置什么的写在tomcat的设置文件里更好些吧。如果一定要在jar里写,就再检查一下context.xml的字符编码等等
全部回答
  • 1楼网友:北城痞子
  • 2021-02-27 01:44
那这次与之前的配置有一个不同,那就是你把 JDBC Driver 包移动了位置,对吧?那你尝试把它先移回到原来的 /WEB-INF/lib 下去再试试嘛。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯