La fonction de se souvenir des mots de passe du compte est requise dans la conception de la graduation. J'ai trouvé une solution en ligne, et je peux le modifier moi-même et la méthode suivante est la suivante.
Tout d'abord, la page de connexion. Lorsque l'utilisateur vérifie le mot de passe, passez-le au contrôleur (le cadre SSM que j'utilise), définissez la valeur du cookie en arrière-plan, puis vous n'avez pas besoin de saisir à nouveau votre compte et votre mot de passe lorsque vous vous connectez la prochaine fois.
Code login.jsp:
<% @ page import = "org.apache.commons.lang.stringutils"%> <% @ page linguistique = "java" contentType = "text / html; charset = utf-8" pageencoding = "utf-8"%> <% @ include file = "public / nocache.jsp"%> <% include file = "publique <script type = "text / javascript" src = "$ {pagecontext.request.contextpath} /js/jQuery-validation-1.14.0/dist/jquery.validate.min.js"> </ script> <ystyle> body {margin: 0px; rembourrage: 0px; } .wrapper {largeur: 100%; hauteur: 100%; Position: fixe; } .Content {largeur: 100%; hauteur: 100%; Position: relative; Texte-aligne: Centre; } .login {width: 1050px; hauteur: 450px; Position: absolue; en haut: 50%; Gauche: 50%; marge: -225px; marge-gauche: -525px; } </ style> <script type = "text / javascript"> window.history.forward (); window.onbeforeunload = function () {} </cript> <% @ inclue file = "public / headertop.jsp"%> <! - Entrez le fichier de ressource -> <body> <% - lire cookie -%> <% string name = ""; Chaîne mot de passe = ""; essayez {cookie [] cookies = request.getcookies (); if (cookies! = null) {for (int i = 0; i <cookies.length; i ++) {if (cookies [i] .getName (). equals ("cookie_user")) {String Values = cookies [i] .getValue (); // Si le champ de valeur n'est pas vide if (stringUtils.isnotblank (valeurs)) {string [] elements = valeurs.split ("-"); // Obtenez le nom ou le mot de passe du compte if (stringUtils.isnotblank (elements [0])) {name = elements [0]; } if (stringUtils.isnotblank (elements [1])) {mot de passe = éléments [1]; }}}}}}}}} athè Yahei '; "> <p style =" position: relatif; marge-top: 200px; padding-left: 20px; "> <span style =" Font-Size: 30px; Font-weight: 800; "> Auto Maintenance Management System fit = "true"> <div région = "nord" style = "hauteur: 80px;"> </ div> <div région = "West"> <img src = "$ {pagecontext.request.contextPath} /img/split.png" style = "Position: Absolute; Left: 0px; top: 30px; iconcls = "icon-user" style = "text-adign: Center; width: 300px; hauteur: 260px; padding-top: 50px;"> <form id = "ff" metheth = "post"> <v> <entrée id = "compte" name = "compteNumber" data-options = "iconcls: 'icon -man", inside %> "> <a id =" dd "href =" # "> </a> </div> <div style =" margin-top: 20px; "> <entrée id =" mot de passe "name =" mot de passe "type =" mot de passe "data-options =" iconcls: 'icon-lock', invite: 's'il vous plaît entrez votre mot de passe' "value =" <% = mot de passe> "> </ / divyle =" Motword-top: "<% = mot de passe>"> </ / divyle = "Motword-top:" <% = Mot de passe> " 10px; " style = "Text-Align: Left;" > <span style = "float: left; padding-left: 30px; font-size: 12px;"> <input id = "flag" name = "Flag" type = "checkbox" value = "1" checked = "checked" /> Rappelez le compte </span> </div> <div style = "Clear: deux;"> </v> <div style = "margin-top: 20px;" " id = "soumitbtn" iconcls = "icon-accept"> login </a> <a style = "margin-left: 30px; largeur: 80px; hauteur: 30px;" href = "#" iConcls = "icon-arrow_undo"> annuler </a> </p> </div> </ form> </ div> </ div> <div region = "East"> </ div> <div Region = "South" Style = "Height: 0px;"> </ div> </v> </ div> </v> <! - La partie principale du contenu se termine -> </v> </v> </ div> <! </div> <script type = "text / javascript"> $ (function () {console.log ("[Automotive Maintenance Management System / N Codeby: Pengchan / n Courriel: [email protected] / n csdn: http: //blog.csdn $ ("# soumedBtn"). Cliquez sur (fonction () {// Déterminez s'il est vide if ($ ("# compte"). Val () == "") {$ .Messager.Alert ('Invite de message de connexion', 'Le compte de l'utilisateur ne peut pas être vide', 'info'); return;} if ($ ("# mot de passe"). invite ',' le mot de passe de l'utilisateur ne peut pas être vide ',' info '); if (data.iserror) {$ .messager.Alert («Invite de message de connexion», data.errormsg, «info»);} else {//$.messager.alelert("Login Message Invite »,« Connexion avec succès! »,« info »); // En cas de succès, passez à la page principale // ici, nous déterminons d'abord s'il y a une demande historique. S'il y en a, visitez à nouveau la page précédente var hisurl = '$ {Hisurl}'; if (hisurl! = null && hisurl.length> 0) {window.location.href = "$ {pagecontext.request.contextPath}" + hisurl; } else {window.location.href = "$ {pagecontext.request.contextpath} /index/main.html"; }}}} catch (e) {$ .messager.alert ("Invite de message de connexion", 'le serveur renvoie une exception, veuillez réessayer plus tard!', 'info'); }}, erreur: fonction (erreur) {$ ("# ff"). form ("clear"); }}); }); </cript> </ body> </html>Partie du code Java traité en arrière-plan:
package com.javaweb.Controller; Importer javax.servlet.http.cookie; Importer javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; import org.apache.commons.lang.stringutils; import org.slf4j.logger; import org.slf4j.loggerfactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.scope; import org.springframework.sterreotype.Controller; import org.springframework.ui.model; import org.springframework.web.bind.annotation.pathvariable; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.ResponseBody; import com.alibaba.fastjson.json; import com.javaweb.entity.account; import com.javaweb.service.impl.servicefactory; import com.javaweb.utils.baseController; import com.javaweb.views.loginbean; / ** * Contrôleur d'informations utilisateur * @Author CP * * / @Controller @Scope ("Prototype") @RequestMapping ("/ Users") Public Class UserInfoController étend BasEconTroller {private static Final Logger = LoggerFactory.getLogger (userInFocontroller.Class); @Autowired Private ServiceFactory ServiceFactory; / ** * Connectez-vous au système * @param demande de demande * @param modèle modèle * @param Informations de compte de compte * @return * / @RequestMapping ("/ Login") @ResponseBody Public String Login (HttpservletRequest Request, HttpServletResponse Response, modèle modèle, compte de compte) {Logger. if (compte == null) {return réponsefail ("Le paramètre soumis est vide!"); } else {if (stringUtils.isblank (account.getAccountNumber ())) {return réponsefail ("Le compte de l'utilisateur est vide"); } if (stringUtils.isblank (compte.getPasswords ())) {return réponsefail ("Le mot de passe de l'utilisateur est vide"); } LoginBean LoginBean = NULL; LoginBean = ServiceFactory.GetUserValidaService (). UserRislawable (compte); if (loginbean == null) {return réponsefail ("le nom d'utilisateur ou la saisie de mot de passe est incorrect"); } else {// Si réussi // Mettez LoginBean dans Session request.getSession (). SetAttribute ("User", LoginBean); // le place dans la chaîne de cookie Flag = request.getParameter ("Flag"); // Si vous avez besoin de vous souvenir du compte, stockez le compte et le mot de passe if (Flag! = NULL && Flag.equals ("1")) {cookie cookie = new cookie ("cookie_user", loginbean.getAccountNumber () + "-" + LoginBean.GetPasswords ()); cookie.setMaxage (60 * 60 * 24 * 3); // Sauver la réponse.addcookie (cookie); Logger.info ("Cookies de l'utilisateur de stockage:" + LoginBean.getAccountNumber () + "-" + LoginBean.getPasswords ()); } else {// Si vous n'avez pas besoin de vous souvenir du mot de passe du compte, enregistrez le compte cookie cookie = new cookie ("cookie_user", loginbean.getAccountNumber ()); cookie.setMaxage (60 * 60 * 24 * 30); réponse.addcookie (cookie); Logger.info ("Stockage du cookie de l'utilisateur:" + LoginBean.getAccountNumber ()); } // JAGEZ à la page d'accueil Logger.info ("User:" + Loginbean.getAccountNumber () + "Entré avec succès le système"); RETOUR ResponseSuccess (LoginBean, "LoginSuccessly"); }}} / ** * Connexion du système * @param demande de demande * @param modèle modèle * @param numéro de compte * @return * / @RequestMapping ("/ {accountnum} /logout.html") public Logout (httpservletRequest request, modèle modèle, @ pathvariable "accountnum") StringNum) { Logger.info ("utilisateur" + accountnum + ", connectez-vous du système ..."); // Définissez session sur request.getSession (). SetAttribute ("utilisateur", null); // Page Jump Retour "Login"; }}Effet de course:
Après avoir entré le mot de passe de votre compte, connectez-vous:
Connectez-vous à nouveau après vous être connecté:
Ce qui précède est l'introduction de l'éditeur. Utilisez des cookies dans le Web Java pour vous souvenir du compte et du mot de passe de l'utilisateur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!