使用数据库数据源的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

 1 <Context>
2 <Resource
3 auth="Container"
4 driverClassName="com.mysql.jdbc.Driver"
5 maxActive="100"
6 maxIdle="40"
7 maxWait="4000"
8 name="jdbc/fish"
9 username="root"
10 password="root"
11 type="javax.sql.DataSource"
12 url="jdbc:mysql://localhost:3306/fish?useUnicode=true&amp;characterEncoding=UTF-8"
13 />
14 </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的连接池配置信息全部完成。

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

Cannot create PoolableConnectionFactory (Communications link failure The last packet sent successfu的更多相关文章

  1. 【错误】:Could not open JDBC Connection for transaction; nested exception is: Communications link failure;The last packet sent successfully to the server was 1 milliseconds ago

    # #错误日志 2016-11-10 16:19:20,834 ERROR [org.quartz.core.JobRunShell] - Job DEFAULT.jobtask threw an u ...

  2. org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent succ

    数据库 没有开启  连接失败 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause ...

  3. Oozie时出现Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure?

    不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/ooziedb.sh create -sqlfile oozie.sql -ru ...

  4. Communications link failure异常解决

    一,异常现象 com.bill99.inf.ibatis.DBException: queryForList error::sqlId=orgOrderAssetsMapping.queryModel ...

  5. 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题

    一.背景 最近在家里捣鼓一个公司自己搭建的demo的时候,发现程序一启动就会出现CommunicationsException: Communications link failure错误,经过一番排 ...

  6. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决办法

    09:00:30.307 [http-8080-6] ERROR org.hibernate.transaction.JDBCTransaction -JDBC begin failed com.my ...

  7. 异常解决:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    异常描述 这个异常通常有如下信息: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failu ...

  8. MySql的Communications link failure解决办法

    在使用JDBC连接mysql时可能会遇到以下错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications li ...

  9. Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    很长的报错,截取   ERROR c.a.d.p.DruidDataSource - discard connection   com.mysql.jdbc.exceptions.jdbc4.Comm ...

随机推荐

  1. 基于VC++的网络扫描器设计与实现

    本文正文其实是自己的毕业论文,现在搬上来有两个原因. 一是之前大学的文档都放在百度网盘上,大概去年的时候百度网盘改版搞得不太稳定,文件夹移动次数一多里边就会有一些文件丢失了,也没有很在意.但前几天看申 ...

  2. 【css3】画‘百分比圆’

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. react球形文字旋转标签

    /* * 球形文字旋转标签模块 * */ import React, {Component, PropTypes} from "react"; import ReactDOM fr ...

  4. golang开源项目qor快速搭建网站qor-example运行实践

    最近想找几个基于Go语言开发的简单的开源项目学习下,分享给大家,github上有心人的收集的awesome-go项目集锦:github地址 发现一个Qor项目: Qor 是基于 Golang 开发的的 ...

  5. Android最火热修复实战

    Sophix官网文档地址 https://help.aliyun.com/document_detail/53240.html 快速接入 项目build.gradle的repositories节点下添 ...

  6. web功能测试之表单、搜索测试

    初入职场接触功能测试老是碰到以下情况不知道怎么写测试用例: 一个界面很多搜索条件怎么写用例?下拉框测试如何考虑测试点?上传要考虑哪些验证点?...... 所以这篇主要是整理关于web测试之表单.搜索测 ...

  7. Angular cli 发布自定义组件

    建立工作空间 ng new Test --style=scss //Angular6.x及以下可以使用这个命令指定使用.scss样式表 ng new Test                      ...

  8. centos7搭建时间服务器

    时区概念 GMT.UTC.CST.DST UTC:整个地球分为二十四个时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时间(UTC:Univers ...

  9. 在用单片机接受串口数据的时候,第一位是0x0A

    unsigned char data len=0; //命令字符串长度if(RI) //如果数据已经接收完,即RI=1{ RI=0; //对RI进行清零 cmd_buf[counter] = SBUF ...

  10. nodejs02-fs模块

    文件操作模块:fs-filesystem(异步) //readFile(文件名,回调函数) fs.readFile(); fs.readFile("aaa.txt",functio ...