Cet article explique le module d'enregistrement des utilisateurs du projet Mall pour votre référence. Jetons un coup d'œil aux rendus en premier:
1. Vérification JS de la réception:
Trigger de l'événement: onSubmit = "CheckForm ()"
2. Utilisez Ajax pour compléter la vérification de la question de savoir si le nom d'utilisateur asynchrone existe
① Trigger de l'événement: onblur = "checkUsername ()"
②ajax
Fonction CheckUserName () {var username = $ ("# username"). Val (); $ ("# Span1"). Load ("$ {pageContex3. Vérification des données des Struts backend2
①. Écrire <formulaire form = ”$ {pagecontext.request.contextpath} /user_regist.action” /> dans la forme
②.Mélange des méthodes en action
③. Vérification complète des données:
Créer un nom de classe sous le package où se trouve l'action - la méthode correspond au chemin d'accès -validation.xml
UserAction-user_regist-validation.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Validators public "- // Apache Struts // XWork Validator 1.0.3 // en" "http://strts.apache.org/dtds/xwork-validator-1.0.3 name = "username"> <champ-validator type = "requirestString"> <messhet> Le nom d'utilisateur ne peut pas être vide! </sessage> </ field-validator> </ field> <! - name: le nom de champ à vérifier -> <champ name = "mot de passe"> <champ-validator type = "requisString"> <mourd> ne peut pas être vide! </moss> Boîte aux lettres -> <champ name = "e-mail"> <champ-validator type = "Email"> <Message> Le format de la boîte aux lettres est incorrect! </ message> </field-validator> </ field> <! - Vérifier le téléphone -> <paramed name = "Phone"> <champ-validator type = "regex"> <param name = "regex"> <! [cdata [^ 15 / d {9} $]]> </amor> <mose> Numéro de téléphone illégal </sessage> </field-validator> </ field> </validators>4. Envoyer un e-mail d'activation
① Introduire deux packages: activation.jarmail.jar
②UserService.java
/ ** * Méthode pour enregistrer un utilisateur * @param utilisateur * / public void enregistrer (utilisateur utilisateur) {// Enregistrer dans la base de données: user.setState (0); // 0: non activé 1: Code de chaîne = uUidutils.getUUID () + uuid (); user.setcode (code); userDao.save (utilisateur); // Envoyez un e-mail d'activation: Mailutils.SendMail (user.getEmail (), code);}③Mailutils
/ ** * Méthode d'envoi e-mail: * / public static void sendmail (chaîne à, code de chaîne) {Properties props = new Properties (); Prophes.setProperty ("Mail.smtp", "LocalHost"); // 1. Obtenez la connexion: session session = session.getInstance (accessoires, new Authenticator () {@Override Protected PasswordAuthentication GetPasswordAuthentication () {return new PasswordAuthentication ("[email protected]", "111");}}); // 2. Créez un objet du message Message Message = new MIMEMessage (session); // Définissez l'expéditeur: essayez {message.setFrom (nouveau InternetAddress ("[email protected]")); // Définissez le destinataire: message.SetReccipient (destinataireType.to, new InternetAddress (TO)); // Définissez le sujet: message.SetSubject ("From ItcastShop Mall Activation Email"); // Définissez le corps du courrier électronique: message.setContent ("<h1> Email d'activation depuis le paradis de shopping itcastshop </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> ",", "text / html; charset = utf-8"); // Envoyer un e-mail: transport.send (message); } catch (AddressException e) {e.printStackTrace (); }}5. Activation de l'utilisateur
Cliquez sur Connecter dans l'adresse e-mail pour soumettre à l'action.
Recevoir le code d'activation en action:
Suivez le code d'activation pour interroger cet utilisateur:
* Si requête:
* Modifier l'état de l'utilisateur
* S'il n'y a pas d'utilisateur:
* L'activation a échoué:
/ ** * Méthode pour l'activation de l'utilisateur: * / public String Active () {// Le pilote de modèle recevra le code d'activation: // interroge l'utilisateur en fonction du code d'activation: utilisateur existauser = userService.FindBycode (user.getcode ()); if (existUser == null) {// Le code d'activation tamponne avec this.addactionMessage ("L'activation a échoué: le code d'activation a été falsifié!"); } else {// Activation: modifiez l'état de l'utilisateur existauser.setState (1); userService.update (existez); // Activation avec succès: this.addactionMessage ("Activation réussi: veuillez vous connecter!"); } return "msg";}GitHub Code complet: https://github.com/ganchuanpu/itcastshop
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.