0

我正在尝试建立与 MySQL 数据库的连接以读取和写入数据。但是,尝试运行此代码时出现错误:

public void openConnection() throws SQLException {
  Class.forName("com.mysql.jdbc.Driver");
  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/jared_bookoo",                                          "root", "pass");
  Statement stmt = conn.createStatement();
}

奇怪的是,当我运行 JUnit 测试时,我的所有测试都通过了。我能够正确地从数据库中读取并返回正确的数据。但是,一旦我将它连接到 JSP 并尝试从本地托管的网页中读取它,我就会收到以下错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/jared_bookoo
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at jared.simpledatabase.DBInterface.openConnection(DBInterface.java:42)
    ...

发生了什么,我该如何解决?驱动程序已安装(并且正在工作;我可以在测试中从数据库中读取),所以我看不出可能出了什么问题。

4

1 回答 1

2

将 MySQL 驱动程序 jar 放入您的 WEB-INF/lib 库中。你可以在这里找到它。另外,请确保在生成 war 文件时,MySQL 驱动程序 jar 位于web_app_name/WEB-INF/lib.

另一个建议(以防万一,因为您没有指定调用该方法的位置):您永远不应该尝试直接在 JSP 中使用 Java 代码。有关详细信息,请参阅如何避免 JSP 文件中的 Java 代码?.

还有一个建议,在现实世界的 Web 应用程序中,您将使用数据源来获取Connection. 由于您没有指定使用哪个应用程序服务器,因此我将举一个有关在 Tomcat 7 中配置数据源的示例。

于 2013-03-26T17:31:50.747 回答