0

我正在尝试在 Eclipse 中使用 JSP 从 MySQL 表中获取行。我的 Tomcat 服务器已启动,jConnector 在 JRE 库中,我的代码是:

import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnection {
    public Connection getDBConnection() throws Exception{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection  conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","myuname","mypass");
        return conn;
    }
}

JSP是:

<jsp:useBean id="dbConn" scope="request" class="dbConn.DBConnection"/>
<%
  Connection conn=dbConn.getDBConnection();
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from user");
%>
<html>
...
<body>
<%while (rs.next()){ %>
<h1><%=rs.getString(2) %></h1>
<%} %>
</body>
</html>
<%
  if(conn!=null)
    conn.close();
%>

最后的结果是

错误:根本原因

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

4

1 回答 1

2

jConnector 在 JRE 库中

这是不正确的。您应该将 JAR 文件放到 Web 项目的/WEB-INF/lib文件夹中。这基本上应该是您需要做的所有事情。此文件夹中的所有内容最终都在 webapp 的运行时类路径中。如果您还摆弄了项目的构建路径属性,那么我建议您撤消这一切。否则,它现在或将来可能会破坏或混淆其他东西。

也可以看看:


与具体问题无关:十年以来强烈反对在 JSP 文件中编写 Java 代码。我建议在普通的 Java 类中编写 Java 代码,并学习 servlet 来控制 HTTP 请求。

也可以看看:

于 2013-01-07T20:59:15.223 回答