1

我正在用 java 开发一个 Web 应用程序,我试图使用 JDBC 模板(使用 springs dao)连接到 MySQL 数据库,但我总是得到:

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/DealingOfInsiders] threw exception [Request processing failed; 
nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver '] with root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
 [....]

我认为问题来自包含目标类的文件 mysql-connector-java-5.1.25-bin.jar ......所以我尝试了很多方法来解决这个问题:

  • 我已经用这个 jar 配置了我的项目的构建路径,但它没有用

  • 我也把文件放在文件夹中:WEB-INF/lib,没用

  • 我已经在 Eclipse 中为这个 jar 配置了一个类路径变量(preference ->java->buildpath->classpath 变量)它没有用

  • 我已将 jar 文件放入 tomcat 库中,但效果不佳

4

3 回答 3

1
 'com.mysql.jdbc.Driver '
                       ^^ // remove this space
于 2013-05-06T10:21:44.547 回答
0

我遇到了这个问题,但是使用 Postgres 驱动程序并且我使用的是 Eclipse。如果您使用的是 Tomcat 7,请尝试将 JAR 文件添加到 Tomcat 目录中的 lib 文件夹中。这对我有用。我不必使用 Class.forName() 或将 JAR 放在我的类路径中。我希望这可以帮助你。

于 2013-05-23T00:10:14.687 回答
0

名字后面好像有空格?

'com.mysql.jdbc.Driver '

除此之外,“com.mysql.jdbc.Driver”是正确的。

WEB-INF/lib 文件夹是存放项目特定驱动程序和库的好地方;使 Tomcat 共享文件夹保持最新并不容易。

回到 JDBC 时代,在向 JDBC 请求连接之前,您必须使用 Class.forName( clazzName) 加载类来注册它,但这不是这里的问题。

于 2013-05-06T10:20:43.927 回答