mysql - 尝试将 mysql 与 jsp 连接时获取 ClassNotFoundException

标签 mysql jsp jdbc

我有一个看起来像这样的 JSP

<%
Class.forName("com.mysql.jdbc.Driver"); 
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); 

Statement st= con.createStatement(); 

ResultSet rs=st.executeQuery("select * from example");
.
.
.
%>

当我请求 jsp 时出现此错误:

HTTP 状态 500 -

类型异常报告

留言

描述服务器遇到内部错误 (),导致它无法完成此请求。

异常

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
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:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.test_jsp._jspService(test_jsp.java:95)
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:1701)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
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:186)
org.apache.jsp.test_jsp._jspService(test_jsp.java:69)
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)

注意 Apache Tomcat/7.0.26 日志中提供了根本原因的完整堆栈跟踪。

最佳答案

只需将 mysql-connector-java-5.1.13-bin.jar 文件放入您在 tomcat 的 webapps 中的目录的 WEB-INF/lib 中。

关于mysql - 尝试将 mysql 与 jsp 连接时获取 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045459/

相关文章:

mysql - 如何在一行中包含多行引用?

php - 在 SQL 查询或 PHP 中进行计算?

php - 使用 Post Submit (Codeigniter) 更新循环中的文本框值

java - 无法在intellij中使用maven连接mysql数据库

java - 如何使用 JSTL 检查 session 中是否存在登录用户?

php - $mysqli->fetch_array();返回奇怪的结果

java - 如何使用JSP从URL中获取参数

java - 如何在 Java 中运行 .sql 脚本(从文件)并使用 Spring 返回结果集?

java - 在 Java 1.7.0 下运行的 SQL-Server (MSSQL-JDBC 3.0) 中的日期列检索为过去 2 天

Java - 加载 JTabbedPane 一个又一个选项卡