我有这段代码:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String Username2 = request.getParameter("Username2");
String Password2 = request.getParameter("Password2");
String ResetPassword = request.getParameter("ResetPassword");
try {
Class.forName("com.mysql.jdbc.Driver");
String st = "jdbc:mysql://localhost:3306/LoginAccount";
Connection conn = (Connection) DriverManager.getConnection(st, "root", "baljinder");
Statement sta = (Statement) conn.createStatement();
ResultSet rs = sta.executeQuery("SELECT * FROM Account where Username='" + Username2 + "' && Password ='" + Password2 + "' ;");
while (rs.next()) {
if (Username2.equals(rs.getString("Username")) && Password2.equals(rs.getString("Password"))) {
sta.executeUpdate("update Account set Password ='" + ResetPassword + "' where Username='" + Username2 + "' ;");
out.print("your successful to Reset the password");
conn.close();
} else {
out.println("<h1>the Username and Password didn't match did not found </h1>");
}
}
} catch (SQLException ex) {
Logger.getLogger(AccountServlet.class.getName()).log(Level.SEVERE, null, ex);
//out.print(ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(AccountServlet.class.getName()).log(Level.SEVERE, null, ex);
out.print(ex);
} finally {
out.close();
}
}
我再次得到这个&amp;再次,
java.sql.SQLException:ResultSet关闭后不允许操作
任何错误?
答案 0 :(得分:6)
在迭代ResultSet
时,您正在关闭数据库连接。 ResultSet
需要将其连接打开才能工作。
您还应该确保在finally块中关闭JDBC连接。