【问题标题】:JDBC issue with Tomcat 7 and Idea ideTomcat 7 和 Idea ide 的 JDBC 问题
【发布时间】:2013-01-06 15:28:17
【问题描述】:

我正在开发一个旨在与某些 Web 服务(jsp)集成的 Androip 应用程序为此,我使用 Intellij Idea 11.1.3 进行开发,我的 Web 服务器是 Apache Tomcat 7(用于 Web 服务)。当我尝试将 mysql 驱动程序加载为Class.forName("com.mysql.jdbc.Driver"); 时,它可以(没有例外)但是当我这样做时

java.sql.Connection con = DriverManager.getConnection(DatabaseUrl,"root","root");

一些异常是这样抛出的:

java.sql.SQLException: 找不到适合 jdbc:mysql:localhost:3306/androiddb 的驱动程序 在 java.sql.DriverManager.getConnection(DriverManager.java:602) 在 java.sql.DriverManager.getConnection(DriverManager.java:185) 在 org.apache.jsp.add_jsp._jspService(add_jsp.java:78) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)

如说找不到合适的驱动程序。但是 mysql 驱动程序(jar 文件)从 Project Structure->Libraries->New Project Library 附加到我的模块。什么可以有问题吗?

【问题讨论】:

    标签: mysql apache jsp tomcat jdbc


    【解决方案1】:

    您的网址错误;它应该是jdbc:mysql://localhost:3306/androiddb(注意在jdbc:mysql:localhost 之间添加//)。

    另见Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J

    【讨论】:

      【解决方案2】:

      您没有将 mysql-connectio-java.jar 添加到应用程序的 lib 文件夹中。 转到您的 webapp 部署文件夹并检查 jar 是否在文件夹 WEB-INF/lib 中

      【讨论】:

      • 但是项目文件夹中没有这样的文件夹。你是说eclipse ide?​​span>
      • 是的,在 Eclipse IDE 中可以查看/编辑 webapp 的 lib 文件夹。我不确定它在 intellij 的想法中是怎样的,因为从未使用过它。不管怎样,我只是做了一个快速的谷歌搜索,看看本教程的第 8 项:dev.day.com/docs/en/crx/current/how_to/… 确保在那里添加 mysql 连接器 jar 文件,它应该可以解决你的问题。
      【解决方案3】:

      我遇到了同样的错误 Eclipse 说: 加载类com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver'。驱动通过SPI自动注册,一般不需要手动加载驱动类。

      我曾经删除命令 Class.forName("com.mysql.jdbc.Driver") 但有时它运行正常,有时它返回空白页 - 没有错误

      现在我使用 Class.forName("com.mysql.cj.jdbc.Driver") 就可以了

      【讨论】:

      • 这不是这个问题的答案。正如我在六(6!)年前回答的那样,OP 的问题与不正确的 JDBC url 有关。你得到的警告是不相关的。
      猜你喜欢
      • 1970-01-01
      • 2013-02-17
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多