java - 通过JSP连接MySQL

标签 java mysql

我正在尝试建立与 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)
    ...

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

最佳答案

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

另一个建议(以防万一,因为您没有指定调用该方法的位置):您应该永远尝试直接在 JSP 中使用 Java 代码。欲了解更多信息,请参阅How to avoid Java code in JSP files? .

还有一个建议,在现实世界的 Web 应用程序中,您可以使用 Data Source获取连接。由于您没有指定使用哪个应用程序服务器,我将举一个关于 configuring the Data Source in Tomcat 7 的示例。 .

关于java - 通过JSP连接MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643446/

相关文章:

javascript - Ajax 按钮无需刷新即可获取数据?

java - JPanel 子类中的火灾 Action

java - 线程中的 NoClassDefFoundError

mysql - 下拉菜单中的默认选项

mysql - Docker 无法启动没有这样的文件或目录的容器

php - 获取列集合或字符集类型( latin1_swedish_ci 或 utf8_general_ci )

java - Java 中的动态方法绑定(bind)

允许 -/或 .作为日期内的分隔符

java - 使用 Webdriver 接受不受信任的 SSL 证书,用于单击菜单选项时打开的窗口

sql - 你能在一个语句中访问 MySQL 中的自动增量值吗?