servlet+jsp cambiar contraseña de inicio de sesión
Lado del servlet:
public void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
request.setCharacterEncoding("GBK"); p>
actualización (solicitud, respuesta);
}
actualización pública nula (solicitud HttpServletRequest,
respuesta HttpServletResponse) arroja ServletException, IOException {
boolean flag = false;
String msg = "¡¡¡Se cambió la contraseña correctamente!!!"
String pwd = request.getParameter("pwd"); /obtener la contraseña anterior enviada por el front-end
String contraseña = request.getParameter("password");//obtener la nueva contraseña enviada
System.out.println( pwd ");//recibir la nueva contraseña enviada
String msg = "¡La contraseña se cambió correctamente! out.println(pwd);
System.out.println(password);
p>// Obtiene la información del usuario actualmente conectado de la sesión actual
UserInfo userinInfo = (UserInfo) request.getSession().getAttribute("userinfo");
UserManager userManager = new UserManager();
System.out.println(userinInfo.getPwd());
// Compara la contraseña anterior ingresada por el usuario ¿Es la misma que la contraseña en la base de datos? Cambie la contraseña solo si es la misma
if (userinInfo.getPwd().equals(pwd)) {
System.out.println ("========== ===============================") ;
// Llama a la capa empresarial para cambiar la contraseña y devolver una bandera que indica si el cambio fue exitoso.
flag = userManager.updatePassword(userinInfo, contraseña);
if (flag) { //if flag=true entonces el cambio de contraseña fue exitoso
solicitud .setAttribute("msg ", msg);
} else {
msg = "¡Error al cambiar la contraseña, vuelva a enviar la solicitud!"; setAttribute("msg", msg);
}
} else { // La inconsistencia devuelve un mensaje que le dice al usuario que la contraseña original es incorrecta.
msg = "La contraseña original es incorrecta, ¡¡confírmela antes de cambiarla!!" ;
request.setAttribute("msg", msg);
}
// Salta a la página especificada y muestra la alerta anterior.
request.getRequestDispatcher("/jspPages/homewpage.jsp").forward(request, Response);
}
Se utiliza en la clase UserManager para cambiar Método de contraseñas
/*
* Cambiar contraseña
*/
actualización booleana pública Contraseña(UserInfo userInfo, String contraseña){ p>
String sql = "actualizar información de usuario set pwd =? donde ID de usuario =?" // Establecer cambio de contraseña sql
System.out.println(sql);
; Object []args = {password,userInfo.getUserID()}; // Parámetros del signo de interrogación en sql
// Llama a la capa de acceso a datos dao para realizar operaciones de base de datos.
Almacenamiento persistente persistenteStorage = nuevo Almacenamiento persistente();
retorno (1 == almacenamiento persistente.update(sql, args)); p>Método de actualización en la clase PersistentStorage
public int update(String sql, Object []args)
{
int row= 0;
/*
* Insertar operaciones de base de datos basadas en sentencias SQL.
*
* */
dbManager.getCon();
prueba {
dbManager.pst = dbManager.conn.prepareStatement(sql);