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