【问题标题】:JDBC connection in ServletsServlet 中的 JDBC 连接
【发布时间】:2012-06-25 19:03:17
【问题描述】:

我正在尝试使用Servlet 中的JDBC 连接连接到MySQL。我正在使用Eclipse 并在/WEB_INF/lib 文件夹中添加了mysql-connector-java-5.1.20-bin.jar

同样的 jar 也被添加到 Java Build Path 中。运行项目后,我收到以下错误

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at com.shubh.Download.doGet(Download.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


虽然我已经在类路径中添加了所需的 jar。为什么ClassNotFoundException 仍在生成? Here 是我的代码。

【问题讨论】:

  • 我猜只是将 jar 放到 WEB-INF/lib 文件夹中并不足以让 eclipse 真正将它添加到您的应用程序的编译版本中,您可以尝试将您的 jar 放在公共目录(如您的工作区的基础),然后右键单击您的项目-> 属性-> java 构建路径-> 添加外部 jar,也尝试在服务器视图上右键单击您的服务器并选择“清理”以确保 Eclipse更新构建
  • 您的代码对我来说编译正常。自从我使用 Eclipse 以来已经有一段时间了,但我认为您可以查看 .classpath 以查看 jar 是否存在类路径条目。看看你是否可以导出一个 ant 构建文件,它会告诉你包含 jar 的目录是否在编译类路径中。

标签: eclipse servlets jdbc


【解决方案1】:

通常,将.jar 放入WEB-INF/lib 应该可以。 eclipse 足够聪明,可以识别WEB-INF/lib 中添加的文件。

只是为了检查您可以查看 .classpath 文件以查看它是否包含类似的条目 <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-5.1.20-bin.jar"/>

但是,建议不要打扰classpath 条目。从 Java 构建路径中删除所有不必要的引用,然后清理并再次构建应该可以工作。

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 2014-04-18
    • 2018-06-10
    • 2014-03-16
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 2017-08-11
    • 2018-10-16
    相关资源
    最近更新 更多