1
後,我有這樣的一段代碼:值java.sql.SQLException:不允許操作的ResultSet關閉
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();
}
}
我又再次得到這個&,
值java.sql.SQLException: ResultSet關閉後不允許操作
有什麼錯誤?
哪一行是拋出異常? – Pat
@Pat while(rs.next()) – user981098
Btw ...令人愉快的SQL注入攻擊你正在創建。你在創建什麼網站,以便世界可以輕鬆攻擊它? – Pat