Java 请告诉我遗漏了什么
我正在创建我的第一个java web应用程序。。 实际上,我面临的问题是管理所有学生。从数据库中检索后,应显示学生信息列表 我正在使用下面的代码,但它没有显示信息或从数据库中检索信息 请告诉我我错过了什么。这是我的代码:Java 请告诉我遗漏了什么,java,jsp,Java,Jsp,我正在创建我的第一个java web应用程序。。 实际上,我面临的问题是管理所有学生。从数据库中检索后,应显示学生信息列表 我正在使用下面的代码,但它没有显示信息或从数据库中检索信息 请告诉我我错过了什么。这是我的代码: <% try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:stdProjectDataDSN"; Conn
<% try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:stdProjectDataDSN";
Connection c = DriverManager.getConnection(url);
String sql = "Select * from students ORDER BY ID DESC";
PreparedStatement pStmt = c.prepareStatement(sql);
ResultSet rs = pStmt.executeQuery(sql);
while (rs.next()) {
%>
<tr height="40">
<th> <%=rs.getString("ID")%> </th>
<th> <%=rs.getString("Name")%> </th>
<th> <%=rs.getString("RollNumber")%> </th>
<th> <%=rs.getString("PhoneNumber")%> </th>
<th> <%=rs.getString("StudyProgram")%> </th>
<th> <%=rs.getString("Status")%> </th>
<th> <a href="ManageAllStudent.jsp">update</a> </th>
<th> <a href="ManageAllStudent.jsp">delete</a> </th>
</tr>
<%
}
rs.close();
pStmt.close();
c.close();
}
catch (Exception e) {
}
%>
没有理由调用executeQuery(sql)
您已经在使用PreparedStatement
。
问题可能就在这里。所以试着改变一下
其次,您必须在finally
块中调用close()
方法,因为如果它将崩溃,catch
块将被调用,但您的close()
方法否。
最后
将始终调用的块保证
更新:
您需要避免在JSP文件中编写原始java代码。检查。我得到了我缺少的东西,我没有在控制面板->管理工具中配置我的数据库 因此,当我设置它时,它只会工作:)
特别感谢@hawaii.five-0给了我一个非常好和有用的建议请正确格式化您的代码以便我们阅读。另外,如果您在控制台上有任何错误,请发布,我相信这是JSP,对吗?如果是这样的话,它应该被标记为这样。@mimisbrunr我希望现在你最好有一个空的catch子句。如果发生任何错误,您应该在catch子句中添加一条print语句。HTTP Status 500 type Exception report message description服务器遇到一个内部错误(),使其无法完成此请求。异常org.apache.jasper.JasperException:无法为JSP编译类:JSP文件:/build/web/ManageAllStudent.JSP rs的第104行出现错误无法解析101:字符串名称;102:字符串电话号码;103:104:while(rs.next()){105:%%>106:107:太长了,我不能发布上面提到的所有基本内容,所以你在JSP中编写原始java代码,你需要避免这种情况,请看我的答案,有一个链接。这意味着我必须单独编写类?是的,你应该有清晰的java类和只调用方法。所以fot ex您应该创建这个类似于返回列表的方法。
PreparedStatement pStmt = c.prepareStatement(sql);
ResultSet rs = pStmt.executeQuery();