org.apache.jasper.JasperException: Operation not allowed after ResultSet closed

fuyou001 2008-03-02 06:55:11
相关流程:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession mySession = request.getSession(true);
mySession.setAttribute("errMsg", "");// 清空错误信息

String username = request.getParameter("username"); // 获取参数值
String password = request.getParameter("password");

String identfiy = request.getParameter("identfiy");// 获取参数传来的验证码

String sessionIdentiy = (String) mySession
.getAttribute("Login_Image_Code"); // 获取session里的验证码

String conformPswd = "";
String sql = "select * from user where username='" + username + "'";

if (identfiy == "" || identfiy.length() < 1) { // 验证码为能为空

mySession.setAttribute("errMsg", "验证码不能为空!");
response.sendRedirect("/loginuser/login.jsp");

} else if (!identfiy.toUpperCase().equals(sessionIdentiy.toUpperCase())) { // 验证验证码是是否一致

mySession.setAttribute("errMsg", "验证码错误!");
response.sendRedirect("/loginuser/login.jsp");
}

ResultSet rs = null;
mvconnection mvc = new mvconnection();
if (mvc != null) {
rs = mvc.getResultSet(sql);

} else {
return;
}
if (rs != null) {
try {
while (rs.next()) {
if (rs.getString(3) != null) {
conformPswd = rs.getString(3);
}

}
} catch (SQLException e) {
e.printStackTrace();
} finally {

}
} else {
mySession.setAttribute("errMsg", "用户名不存在!");
response.sendRedirect("/loginuser/login.jsp");
}

if (password.equals(conformPswd)) {

if (username.equals("guest")) {
sql = "select * from user where enroll= 0";
rs = mvc.getList(sql);
mySession.setAttribute("rs", rs);

response.sendRedirect("/loginuser/guest.jsp");

} else if (username.equals("admin")) {

sql = "select * from user where enroll= 1"; // 通过的
rs = mvc.getList(sql);
mySession.setAttribute("rs", rs);
RequestDispatcher requestDispathcer = request.getRequestDispatcher("/admin.jsp");
requestDispathcer.forward(request, response);

} else if (username.equals("user")) {

sql = "select * from user where enroll= 1"; // 通过的
rs = mvc.getList(sql);
// set attribute here
mySession.setAttribute("rs", rs);
response.sendRedirect("/loginuser/user.jsp");

}
} else {
return;
}


}


public ResultSet getList(String sql) {
ResultSet rs = null;
Statement stmt = null;
Connection con = null;
con = this.dbC.getConnection();
if (con != null) {
try {
stmt = con.createStatement();
if (stmt != null) {
rs = stmt.executeQuery(sql);
if (rs != null) {
return rs;
} else {
return null;
}
} else {
return null;
}
} catch (SQLException e) {

e.printStackTrace();
return null;
}

} else {
return null;
}

}



<%@ page language="java"  pageEncoding="gb2312"%>
<%@ page import ="java.sql.*" %>
<%
ResultSet rs = null;
if(session.getAttribute("rs")!=null){
Object ob = session.getAttribute("rs");
rs = (ResultSet)ob;
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%
System.out.println(request.getRequestURL());

%>

<title>admin</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<table width="500" border = "2" align="center">
<tr> <th>id</th> <th>用户名</th> <th>简历信息</th> <th>审核情况</th> <th>是否录取</th><th>操作</th></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt("id")%></td><td><%= rs.getString("username") %></td><td><%=rs.getString("info") %></td>
<td><%=rs.getString("enroll") %></td><td><%= rs.getString("verify") %></td><td><a href="/loginuser/update.jsp">修改</a> <a href="updateServlet?method=delete&id=<%=rs.getInt(1)%>">删除</a></td></tr>
<%} %>
</table>
</body>
</html>

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

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

exception

org.apache.jasper.JasperException: After end of result set
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: After end of result set
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.update_jsp._jspService(update_jsp.java:106)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.sql.SQLException: After end of result set
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:709)
com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2605)
org.apache.jsp.update_jsp._jspService(update_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.25我rs都没有关啊,怎么会有After end of result set错误
...全文
327 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuyou001 2008-03-03
  • 打赏
  • 举报
回复
chris9999 2008-03-03
  • 打赏
  • 举报
回复
顺序错误,
跃过去的字段再用rs.get..取出来就会出问题
chris9999 2008-03-03
  • 打赏
  • 举报
回复
数据提取方向错误
resultset为单项只读游标性质
过去的字段不能读出来
phyeas 2008-03-02
  • 打赏
  • 举报
回复
帮顶..

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧