gpt4 book ai didi

mysql - Tomcat 8 - java.sql.SQLException : Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://xxx/myApp'

转载 作者:IT王子 更新时间:2023-10-28 23:50:04 24 4
gpt4 key购买 nike

为了解决我的问题,我在网上到处找,但我没有运气! :(

我正在尝试开发一个能够连接到 MySQL 数据库(连接池)并将其部署在 Tomcat 8 服务器上的 servlet。

我在 META-INF 中有一个 context.xml 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/DBConnectionPoolTest">
<Resource name="jdbc/testdb"
auth="Container"
type="javax.sql.DataSource"
username="xxx" password="xxx"
driverclassname="com.mysql.jdbc.Driver"
url="jdbc:mysql://xxx/myApp"
maxactive="10"
maxidle="4" />
</Context>

在 WEB-INF 中,我创建了 web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/testdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

最后,在 servlet 类上,我使用:

Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
dataSource = (DataSource) envContext.lookup("jdbc/testdb");
...
connection = dataSource.getConnection();

但是在这条线上,当我尝试从数据源获取连接时,出现以下异常:

java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://xxx/myApp'
t org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2065)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1939)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
at DBPoolConnectionServlet.processRequest(DBPoolConnectionServlet.java:73)
...
Caused by: java.sql.SQLException: No suitable driver

我认为可能是没有JDBC Driver导致的,所以我把mysql-connector-java-5.1.34-bin.jar放在:

  1. pom.xml 依赖
  2. Tomcat LIB 文件夹
  3. webapp内的WEB-INF/lib文件夹

但没有运气。

你能告诉我我做错了什么吗?我觉得很菜鸟... :(

非常感谢您花时间阅读(并希望回答)我的问题!!!

最佳答案

看起来你一切都很好,所以:

driverClassName="com.mysql.jdbc.Driver"(大写可能很重要)。

你放置 mysql-connector-java-5.1.34-bin.jar(它必须有 jar 扩展名才能在 tomcat/lib 中检测到(不要把它放在你的 webapp 路径上,它应该由 tomcat 类加载器加载) .

如果它没有帮助并且您正在从 IDE 启动您的 web 应用程序。尝试启动 tomcat 表单控制台并手动部署您的应用程序。如果您安装了多个 tomcat,请确保将 CATALINA_HOME 设置为您放置 mysql jar 的那个。

关于mysql - Tomcat 8 - java.sql.SQLException : Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://xxx/myApp' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com