java连接池出现javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 或者出现 java.sql.S

java连接池出现javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 或者出现 java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'


或者出现 java.sql.SQLException: Cannot create JDBC driver of class ‘’ for connect URL ‘null’ )

1.问题描述

1.java数据库连接池,使用局部数据源出现
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 
报错问题
2.解决了问题1后又报 
java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'

2.环境

1.idea + maven
2. Tomcat 9
3. jdk1.8

3.解决方法

1.解决第一个问题

在WEB-INF->web.xml文件中添加如下代码:

  <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/webstoreDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

配置好,如下图:
在这里插入图片描述
其中需要修改框内框中的信息

    <res-ref-name>jdbc/webstoreDS</res-ref-name>
    //这里对应你自己的连接池名字

参看我的例子

 dataSource = (DataSource) context.lookup("java:comp/env/jdbc/webstoreDS");//webstoreDS这是数据源的名字

到这里你会发现又报新错了。

java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'

问题不大,继续向下看

2.解决第二个问题

这是因为冲突问题:
如果你的tomcat也是9版本,(注意,其他版本我没试过)
那就简单多了。

1.找到自己的Tomcat的/conf
找到 context.xml
进去看看。果然,这里的信息还是没有更新
用文本编辑器打开
然后把项目中的context.xml的信息更新到tomcat的context.xml中

如图所示:
在这里插入图片描述

3.解决第二个问题保存,问题解决。

3.资源下载

记得star

https://gitee.com/nalan-taotao/DataSource
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值