【问题标题】:JSP MySQL Class.forName errorJSP MySQL Class.forName 错误
【发布时间】:2014-08-30 05:29:12
【问题描述】:

我是 JSP 的新手。我正在尝试使用 ADT Eclipse 做一个基本的 JSP 和 MySQL 连接程序。在运行 index.jsp 页面时,我得到以下信息:

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 24

type Exception report

message An exception occurred processing JSP page /index.jsp at line 24

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 24

21: String sql = "select usertype from userdetail";
22: 
23: try {
24: Class.forName("com.mysql.jdbc.Driver");
25: con = DriverManager.getConnection(url, user, password);
26: ps = con.prepareStatement(sql);
27: rs = ps.executeQuery(); 


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
    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:722)
root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:141)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    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:722)
root cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:126)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:190)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:85)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    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:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.30 logs.

Apache Tomcat/7.0.30

我下载了 MySQL Connector J jar 并包含在项目中

提前谢谢...

【问题讨论】:

  • 在类路径中添加mysql jar。
  • 怎么做?项目属性->添加外部jar?
  • 是的,你是对的。清理并构建,再次运行
  • 复制 jar 到 web-inf->lib 文件夹中。

标签: java mysql jsp jakarta-ee jdbc


【解决方案1】:

不要添加外部 jar。下载并复制到项目中。

复制到WEB-INF--->lib(folder)

【讨论】:

    【解决方案2】:

    错误,

    javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    说找不到类文件。

    所以你应该检查mysql jar到项目使用,

    项目属性->添加jar

    在此之前将 jar 放在项目内某处的文件夹中或通过外部 jar 选项添加。

    如果您已经添加了 .尝试删除并再次添加 jar 文件

    请参阅 how-to-add-mysql-driver-jar-file-in-eclipsehow-to-add-external-jar-without-eclipse 以获取更多参考

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多