我试图在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
答案 0 :(得分:2)
jConnector位于JRE库中
这不正确。您应该将JAR文件放在Web项目的/WEB-INF/lib
文件夹中。这基本上应该是你需要做的。此文件夹中的所有内容都以webapp的运行时类路径结束。如果您还在项目的 Build Path 属性中摆弄,那么我建议撤消所有这些。否则,现在或将来可能会破坏或混淆其他东西。
无关具体问题:十年来,强烈建议不要在JSP文件中编写Java代码。我建议在普通的Java类中编写Java代码,并了解servlet以控制HTTP请求。