Red de conocimiento informático - Problemas con los teléfonos móviles - servlet+jsp cambiar contraseña de inicio de sesión

servlet+jsp cambiar contraseña de inicio de sesión

fin de página jsp

border=0>

ModificarContraseña</TD>
Iniciar sesión en cuenta<%=userinfo.getUserID()%>
Nombre<%= userinfo.getUserName()%>
Contraseña original< ENTRADA tipo="contraseña" nombre="pwd" maxLength=20 tamaño=30>

Nueva contraseña

Confirmar nueva contraseña'

<INPUT tipo=contraseña nombre = "contraseña2" maxLength=20 tamaño=30

nombre=nuevocontras2>

< / TD>

Lado del servlet:

public void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse)

lanza ServletException, IOException {

request.setCharacterEncoding("GBK");

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){

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);