使用数据库数据源的web 项目,发布后,访问数据库500报错:

浏览器端:

控制台:

数据库连接池在不启动Tomcat的情况下,测试类通过,没有问题。

一旦在服务器发布,就会出现问题,考虑是Tomcat的连接池配置除了问题。

错误提示是:找不到jdbc驱动,但是提示信息里的class值为null,所以,应该是Tomcat没有找到驱动

1、检查是否有jar包:存在,没有问题。

2、检查jar包位置:是在src 下。后来转移到web下,还是没效果。网上资料说:在tomcat6.0中设置jdbc数据源时,jdbc驱动要放在TOMCAT_HOME/lib目录下,绝不能放在web-inf/lib/下面:否则tomcat就会报错说找不到驱动。eclipse中的webcontent是虚拟路径。

3、配置文件:缺失。

解决方案:

增加了配置文件:

content.xml

 <Context>
<Resource
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="100"
maxIdle="40"
maxWait="4000"
name="jdbc/fish"
username="root"
password="root"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/fish?useUnicode=true&amp;characterEncoding=UTF-8"
/>
</Context>

运行成功。

转载 关于Tomcat6 的数据源配置:

tomcat6.0 数据库连接池配置问题:

连接池配好后,启动tomat后,输入项目系统的登录名和密码,报

Cannot create JDBC driver of class '' for connect URL 'null' 错误。

经检查,发现是连接池没有配好。

现把连接池配置步骤重新整理一遍。(以ORACLE为例)

1.在tomcat的lib目录下放入数据库驱动。ORACLE的驱动为ojdbc14.jar。

2.修改tomcat目录下的conf目录下的server.xml文件。

在<Host></Host>节点内,增加如下代码

  1. <Context path="/testApp" docBase="testApp" debug="1" reloadable="flase" crossContext="true">
  2. <Resource name="jdbc/devDS" type="javax.sql.DataSource" password="shxt" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxWait="5000" username="shxt" url="jdbc:oracle:thin:@192.168.0.133:1521:testApp" maxActive="100"/>
  3. </Context>

3.在tomcat目录下的conf目录下的Catalina目录下的localhost目录(如果你server.xml文件中HOST节点的name是localhost)下,增加testApp.xml文件。文件内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Context antiResourceLocking="false" privileged="true" useHttpOnly="true" >
  3. <ResourceLink name="jdbc/devDS" global="jdbc/devDS" type="javax.sql.DataSource"/>
  4. </Context>

以上为tomcat的配置完成,下面为项目配置的修改。

4.修改项目目录下的web.xml文件。增加jndi信息

  1. <!-- 数据库JNDI -->
  2. <resource-ref>
  3. <description>DB Connection</description>
  4. <res-ref-name>jdbc/devDS</res-ref-name>
  5. <res-type>javax.sql.DataSource</res-type>
  6. <res-auth>Container</res-auth>
  7. </resource-ref>

5.修改hibernate.cfg.xml信息(如果使用了hibernate)

  1. <property name="connection.datasource">java:comp/env/jdbc/devDS</property>

到此,tomcat6的连接池配置信息全部完成。

再登录项目,上面的那个错误就不再出现。

SQL: Cannot create JDBC driver of class '' for connect URL的更多相关文章

  1. JNDI数据源局部配置(解决Cannot create JDBC driver of class '' for connect URL 'null')

    最开始,我是借鉴 孤傲苍狼的JNDI教程去做的,他讲得很详细,但是坏处也就是因为他讲的太详细.查了很多书,都是建议说不要用全局去配置JNDI,一是要修改tomcat的server.xml,容易破坏to ...

  2. SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' 解决办法

    当跑jndi项目时抛出:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' fo ...

  3. Cannot create JDBC driver of class '' for connect URL 'null'问题解决方法2

    1)启动Tomcat服务器,打开浏览器,输入http://localhost:8080/admin(其中localhost是名称服务器或称为主机),进入管理界面的登陆页面,这时候请输入原来安装时要求输 ...

  4. Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://127.0.0.1:3306/test'

    原来的配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...

  5. birt 访问频繁报错Cannot create JDBC driver of class '' for connect URL 'null' java.sql.SQLException: No suitable driver

    一般birt项目都是部署tomcat启动.这个问题大概率是因为没有配置JNDI数据源的原因. 参考链接: https://www.cnblogs.com/xdp-gacl/p/3951952.html

  6. 无法解析db.properties,spring报错:Caused by: java.sql.SQLException: unkow jdbc driver : ${url}

    db.properties中配置了url等jdbc连接属性: driver=org.sqlite.JDBCurl=jdbc:sqlite:D:/xxx/data/sqliteDB/demo.dbuse ...

  7. SQL基础之JDBC、连接池

    JDBC JDBC四个核心对象 这几个类都是在java.sql包中 DriverManager(类): 数据库驱动管理类.这个类的作用:1)注册驱动; 2)创建java代码和数据库之间的连接,即获取C ...

  8. unkow jdbc driver : http://maven.apache.org

    报了这么一个错,找了很久才找到问题出在哪里,具体为什么会什么出现现在还不怎么懂,只是现在能让它继续跑起来 这个错是因为我的spring-mybatis.xml文件读取不了jdbc.properties ...

  9. java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

    java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader.findClass(URLC ...

随机推荐

  1. MAIL服务器搭建

    一,邮件服务: 优    点 缺   点 应 用 sendmail 有点年代久远,稳定功能多 太过于臃肿,配置文件多且繁琐 6以前默认 postfix 优点更稳定,且交轻便 发布年限较短,市场占有率低 ...

  2. SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介、创建消息生产者、创建消息消费者、自定义消息通道、分组与持久化、设置 RoutingKey)

    1.概念:SpringCloudStream 2.具体内容 2.1.SpringCloudStream 简介 SpringCloudStream 就是使用了基于消息系统的微服务处理架构.对于消息系统而 ...

  3. azkaban的简单使用

    简单使用 create job 右上角 project创建成功 创建job并上传至该project [root@localhost ~]# cat command.job #command.job t ...

  4. OJ每日一练试水第1天,聊聊输入输出问题

    目录 多组输入 第一题 多组冒泡排序 (难度2颗星版本) (难度3颗星版本) (难度4颗星版本) scanf返回值 时间:2019.4.26 @( 每日一练01) 先借鉴一下ACM的输入格式 OJ题中 ...

  5. Android 获取View在屏幕中的位置【转】

    Android 获取View在屏幕中的位置 https://blog.csdn.net/lonely_fireworks/article/details/7849643

  6. make,makefile,cmake“暴力编译法”的个人经验或理解。

    通常我们在本地编译库(opecv.pcl)等我们喜欢使用make -jN  (N代表线程数)这样可以加速编译过程, 但是,这不一定是“线程安全”的,因为当某个线程在编译时,经常其他线程编译依赖本线程的 ...

  7. Mha-Atlas-MySQL高可用方案实践(二)

    六,配置VIP漂移 主机名 IP地址(NAT) 漂移VIP 描述 mysql-db01 eth0:192.168.0.51 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) ...

  8. mysql常用的统计类sql ,以及批量循环插入数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  9. 音视频处理概要 markdown

    最近要想办法把录制的音视频进行拼接. 比方说此次录制的视频有三段,通过高清直播编码器录制,录制下的标准为h.264 直接用ffmpeg简单拼接,音频会丢失,所以有了此次解决方案(有可能会繁琐,简单方案 ...

  10. Ubuntu---grep

    摘要:我们已经学过正则表达式了,所以现在开始学习 grep 也是水到渠成的事情. 简介:grep 是 Linux 中最常用的“文本处理工具”之一,grep 与 sed.awk 合称为 Linux 中的 ...