Este artículo explica el módulo de registro del usuario del proyecto Mall para su referencia. Echemos un vistazo a las representaciones primero:
1. Verificación JS de recepción:
Disparador del evento: onsubmit = "checkform ()"
2. Use Ajax para completar la verificación de si existe el nombre de usuario asincrónico
① Disparador de eventos: onblur = "checkUsername ()"
②AJAX
función checkUsername () {var userName = $ ("#username"). val (); $ ("#span1"). Load ("$ {PageContext.Request.ContextPath} /user_checkusername.action", {'username': username});}3. Verificación de datos de Backend Struts2
①. Write <Form Action = ”$ {PageContext.Request.ContextPath} /user_regist.action”/> en el formulario
②. Métodos de escritura en acción
③. Verificación completa de datos:
Cree un nombre de clase debajo del paquete donde se encuentra la acción: el método corresponde a la ruta de acceso -validation.xml
UserAction-user_regist-validation.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! DocType Validators public "-// Apache Struts // Xwork Validator 1.0.3 // en" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validadors> <! name = "UserName"> <Field-Validator type = "RequendedString"> <Smessage> UserName no se puede vaciar! </sessage> </field-validator> </field> <!-Nombre: el nombre de campo para verificar-> <field name = "contraseña"> <cield-validator type = "requerido"> <message> no se puede vaciar! </sessage> </field-validator buzón boxego-> <field name = "correo electrónico"> <field-validator type = "correo electrónico"> <sessage> El formato de buzón es incorrecto! </sessage> </field-validator> </field> <!-Verify Telephone-> <Field name = "Teléfono"> <Field-Validator Type = "REGEX"> <Param Param " name = "Regex"> <! [CDATA [^15/D {9} $]]> </param> <sessage> Número de teléfono ilegal </sessage> </field-validator> </field> </calidators>4. Enviar correo electrónico de activación
① Introducir dos paquetes: activación.Jarmail.jar
②Userservice.java
/*** Método para registrar un usuario* @param user*/public void salvar (usuario de usuario) {// Guardar en la base de datos: user.setState (0); // 0: no activado 1: código de cadena = uuidutil.getuuid ()+uuid (); user.setCode (código); userdao.save (usuario); // Enviar un correo electrónico de activación: mailUtils.sendmail (user.getEmail (), código);}③Mailutils
/** * Método para enviar correo electrónico: */public static void sendmail (cadena a, código de cadena) {Properties props = new Properties (); propsssetProperty ("mail.smtp", "localhost"); // 1. Obtenga la conexión: sesión session = session.getInStance (props, new Authenticator () {@Override PassionAuthentAtation getPassWalDauthentication () {return New PassingAuthentication ("[email protected]", "111");}}); // 2. Cree un objeto del mensaje Mensaje del mensaje = New Mimemessage (Sesión); // Establezca el remitente: intente {Message.setFrom (nuevo Internetaddress ("[email protected]")); // Establecer el destinatario: Message.SetRecipient (DestinatorType.to, nuevo Internetaddress (a)); // Establecer el tema: Message.SetSubject ("Desde el correo electrónico de activación de ItcastShop Mall"); // Establecer el cuerpo de correo electrónico: Message.SetContent ("<H1> Correo electrónico de activación desde Itcastshop Shopping Paradise </h1> <h3> <a href = 'http: //192.168.30.123: 8080/itcastshop/user_active.action? code = "+code+"'> http://192.168.30.123:8080/itcastshop/user_active.action?code= "+Code+" </a> <h3> ", "texto/html; charset = utf-8"); // Enviar correo electrónico: transport.send (mensaje); } catch (DirectionException e) {E.PrintStackTrace (); }}5. Activación del usuario
Haga clic en Conectar en la dirección de correo electrónico para enviar a la acción.
Recibir código de activación en acción:
Siga el código de activación para consultar a este usuario:
* Si consulta:
* Modificar el estado del usuario
* Si no hay usuario:
* Falló la activación:
/** * Método para la activación del usuario: */public String Active () {// El controlador del modelo recibirá el código de activación: // consulta al usuario de acuerdo con el código de activación: user existuser = userservice.findbycode (user.getCode ()); if (existuser == null) {// El código de activación manipula this.AddactionMessage ("Falló de activación: el código de activación fue alterado!"); } else {// activación: modificar el estado del usuario Existuser.setState (1); UserService.Update (Existuser); // Activación con éxito: this.addactionMessage ("Activación exitosa: ¡Inicie sesión!"); } return "msg";}Código completo de GitHub: https://github.com/ganchuanpu/itcastshop
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.