Я пытаюсь создать пароль для возврата в html. Когда я отправлю кнопку сброса, она перейдет в ResetPasswordServlet. Затем контроллер перейдет из сервлета в CustomerDAO. Там необходимо обновить базу данных. Я также создал соединение с базой данных. Я тестировал его, но он не работает (не обновляется в базе данных.) Я знаю, что с моим кодом что-то не так, но я не могу понять это.Сбросить пароль, если кто-то забыли пароль
Вот мой код. Может ли кто-нибудь помочь мне разобраться, где я делаю неправильно. Большое спасибо.
ResetPasswordServlet
package com.dao;
/**
* @see HttpServlet#HttpServlet()
*/
public ResetPasswordServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<center><h2>Reset your password</h2></center>");
out.println("<form action=ResetPassword method=post>");
out.println("Enter your username <input type=text name=LoginId><br> ");
out.println("Enter your new Password<input type=password name=password><br>");
out.println("Confirm your new Password <input type=password name=confirm><br>");
out.println("<input type=submit value=RESET>");
out.println("</form>");
out.println("</body></html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
CustomerDAO customerDAO = new CustomerDAO();
String loginId = request.getParameter("LoginId");
String loginPassword = request.getParameter("password");
String confirmPassword = request.getParameter("confirm");
Login login = customerDAO.resetPassword(loginId, loginPassword, confirmPassword);
}
}
CustomerDAO
public Login resetPassword(String loginId, String loginPassword, String confirmPassword) {
Login login = null;
try {
BaseDAO baseDAO = new BaseDAO();
Connection c =baseDAO.getConnection();
String query = "update test.Customer set LoginPassword=?, ConfirmPassword=? where LoginId=?" ;
PreparedStatement ps = c.prepareStatement(query);
ps.setString(1, loginId);
ps.setString(2, loginPassword);
ps.setString(3, confirmPassword);
System.out.println(loginId);
System.out.println(loginPassword);
System.out.println(confirmPassword);
int i = ps.executeUpdate();
if(i==1) {
System.out.println("record updated successfully");
}else {
System.out.println("record not updated.");
}
c.close();
}catch(Exception e) {
e.printStackTrace();
}
return login;
}
Я сделал некоторые изменения в коде.
Когда я отправляю кнопку, она не показывает никаких ошибок, а также не обновляется в базе данных. В CustomerDAO выполняется блок else и печатается запись, не обновляемая.
Вы могли бы показать стек, который вы получите? –