mysql - 找不到适合 jdbc ://localhost 的驱动程序

标签 mysql servlets jdbc jetty

我在 Ubuntu 14.04 的 Jetty 9 服务器上部署了一个简单的 servlet。直到昨天它工作正常。但是在系统崩溃后,我的 MySQL 服务器出现了问题,所以不得不对 mysql 服务器进行配置更改以使其工作,即添加行 socket =/tmp/mysql.sock [mysqld]my.cnf 中的 [client]

但是现在 servlet 不工作了。它给了我以下错误。

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/slappdb
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at slappserver.RegisterServlet.doGet(RegisterServlet.java:74)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:551)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:462)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
    at java.lang.Thread.run(Unknown Source)

我根本没有对 servlet 代码进行任何更改:

final String DB_URL = DatabaseParameters.SlappDbURL;
final String USER = DatabaseParameters.DbServer_Username;
final String PASSWORD = DatabaseParameters.DbServer_Password;
conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);

驱动和以前一样在同一个地方:/home/faizal/DEV/jre1.7.0_55/lib/ext/mysql-connector-java-5.0.8-bin.jar,它包含在项目的构建路径中。

哪里出了问题?

最佳答案

由于崩溃,我的项目中似乎有什么东西被破坏了。在我添加 Class.forName("com.mysql.jdbc.Driver"); 行后,它现在可以工作了。但实际上不需要这一行,因为我使用的是 JDBC 4 驱动程序。

有趣的是,现在即使我删除了这一行,它仍然有效。所以,我仍然不确定问题出在哪里,但至少它可以像以前一样工作,而无需更改代码。

关于mysql - 找不到适合 jdbc ://localhost 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23864690/

相关文章:

java - util date 到 sql 日期类型转换

mysql - 逗号后面多少个地方需要得到正确的四舍五入

php - 零值被插入到数据库表中

php - 准备好的语句在不应该的时候失败

java - 从 servlet 和 jsp 打印到 txt 文件

java - 带有 Oracle 连接的 Tomcat 数据源

MySQL 使用 LIKE 进行查询

java - 如何从文件系统调用图像?

java - 意外的 Servlet 缓存

tomcat - 我应该如何在基于 servlet 的应用程序中连接到 JDBC 数据库/数据源?