【问题标题】:Cannot connect to mysql via servlet无法通过 servlet 连接到 mysql
【发布时间】:2011-06-17 15:56:12
【问题描述】:

我花了 2 天时间试图弄清楚为什么我的 servlet 无法连接到 MySQL 数据库。

我已经安装了 MySQL 并且工作正常,还有 Eclipse。

每当我尝试建立连接时,我都会为com.mysql.jdbc.Driver 得到一个ClassNotFoundException,它实际上是正确导入的。我正在使用的连接器是 mysql-connector-java5.1.14 作为外部 jar 正确添加的,所以一切看起来都很好。这是我的代码:

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  String dbUrl="jdbc:mysql://localhost:3306/test";
  String username="root";
  String password="";



  try {
   Class.forName("com.mysql.jdbc.Driver").newInstance();
   conn=DriverManager.getConnection(dbUrl);
   System.out.println("Connected!");

  } catch (SQLException e) {
   e.printStackTrace();
   System.out.println("not connected");

  } catch(ClassNotFoundException x){
   x.printStackTrace();

  } catch(Exception e){

   e.printStackTrace();
  }


 }

这是堆栈跟踪的一部分:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:164)

我正在按照已出版的 Java 书籍中的连接步骤进行操作。在论坛和教程中,我只是看到相同的代码,无法弄清楚为什么会抛出该异常。

在不在服务器上运行的普通应用程序上,不会引发异常并且连接(以完全相同的方式)成功。

你有什么建议吗?

【问题讨论】:

  • 啊!好老'ClassNotFound。您可能需要将 MySQL jar 复制到应用服务器的 lib 目录。

标签: java mysql eclipse servlets jar


【解决方案1】:

两种可能的解决方案:

1) 当你创建 WAR 时,里面有那个驱动吗?您可以解压缩它(将 .war 文件重命名为 .zip 并查看一下 - 它应该在 /WEB-INF/lib 下。)Eclipse 可能不会将它导出到 WAR。

2) 如果您使用的是 Tomcat,您是否将其放入 Tomcat lib 目录?如果没有,您将部署到哪个 servlet 容器中?

我注意到的一件事是,有时,Java 不喜欢一个类有空格。您应该可以通过将其包含在两个解决方案中的任何一个中来避免它,使其成为相对路径,但您可以尝试消除空间并查看它是否有帮助。

【讨论】:

    【解决方案2】:

    mysql-connector-x.jar 放入WEB-INF/lib

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 1970-01-01
      • 2014-10-18
      • 2014-11-25
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多