Implémentation des fonctions:
1. Connexion de l'utilisateur et déconnectez-vous
2. Utilisez la session pour enregistrer les informations de connexion des utilisateurs
3. Afficher les informations utilisateur connectées dans JSP
Principe de mise en œuvre:
Après vous être connecté, déterminez si le nom d'utilisateur et le mot de passe sont cohérents avec le stockage. S'il est cohérent, mettez les informations utilisateur de la session pour les stocker; S'il est incohérent, provoquez les informations et retournez à la page de connexion.
Sur la page d'informations d'affichage, les informations de connexion de l'utilisateur sont fixées à partir de la session. S'il est trouvé, les informations de l'utilisateur seront affichées. S'il n'est pas trouvé, la boîte de connexion sera affichée.
L'écart est très simple, il s'agit d'effacer les informations de session.
Documents principaux:
1. Loginaction: la classe d'action de Struts2 est utilisée pour gérer la logique de connexion et de déconnexion principale du côté Java.
2. Login.jsp: page de connexion de l'utilisateur, l'utilisateur entre le nom d'utilisateur et le mot de passe, et si la connexion échoue, les informations échouées seront affichées.
3. Page.jsp: afficher les informations de l'utilisateur après la connexion avec succès.
4. Struts.xml: Struts Fichier de configuration.
Loginaction: la classe d'action de Struts2, utilisée pour gérer la logique de connexion et de déconnexion principale du côté Java
package luju.me.teach.struts2.login; Importer javax.servlet.http.cookie; Importer javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; import javax.servlet.http.httpservletResponse; Importer javax.servlet.http.httpSession; import org.apache.commons.lang.stringutils; import org.apache.struts2.ServletActionContext; Importer com.opensymphony.xwork2.action; / ** * @author lu Ju http://luju.me * * / public class Loginaction {private String LoginName; mot de passe de chaîne privé; String privé msg; String public getmsg () {return msg; } public void setmsg (String msg) {this.msg = msg; } public String getLoginName () {return LoginName; } public void setLoginName (String LoginName) {this.loginname = loginname; } public String getPassword () {return mot de passe; } public void setPassword (String Motword) {this.password = mot de passe; } / ** Login utilisateur * / public String Login () {if (stringUtils.isblank (this.loginname)) {return action.input; } / * Ici, vous écrivez la logique métier pour trouver des informations sur l'utilisateur via le nom d'utilisateur, par exemple: connectez-vous à Citizen User = PrmService.QueryEgovcizenByMobile (this.loginname); .... * / if (user == null || user.getpwd () == null ||! user.getpwd (). getValue (). equals (this.password)) {// Login a échoué ce.msg = "l'utilisateur n'existe pas ou le mot de passe est faux!"; retour action.input; } else {// connecter avec succès // set session this.getSession (). setAttribute ("_ user_info_login_name_", this.loginname); this.getSession (). setAttribute ("_ user_info_user_id_", user.getId (). getValue ()); this.getSession (). setAttribute ("_ user_info_user_info_", utilisateur); // Définissez cookie this.getResponse (). Addcookie (nouveau cookie ("_ user_info_login_name_", this.loginname)); this.getResponse (). addcookie (nouveau cookie ("_ user_info_user_id_", user.getId (). getValue ())); retour action.success; }} / ** * Logout * / public String Loginout () {// Clear Session this.getSession (). Invalidate (); retour action.success; } public httpSession getSession () {return servletActionContext.getRequest (). getSession (); } public httpServLetRequest getRequest () {return servletActionContext.getRequest (); } public httpServletResponse getResponse () {return servletActionContext.getResponse (); }}Struts.xml: Fichier de configuration de Struts
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Struts public "- // APache Software Foundation // Dtd Struts Configuration 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package nom = "Common" NamesPace = "/ Common"> name = "login" méthode = "ligin"> <résultat name = "input"> login.jsp </ résultat> <résultat name = "success" type = "redirect"> / page.jsp </ result> </ action> <action name = "liginout" method = "liginout"> <result name = "success" type = "redirect"> Login.action </sult> </ action> </ package>
Login.jsp: page de connexion de l'utilisateur, nom d'utilisateur de l'entrée de l'utilisateur et mot de passe, et si la connexion échoue, les informations échouées s'affichent.
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <Title> Bienvenue pour se connecter </ title> </ head> <body> <div id = "ligin"> <span> $ {msg} </span> <form name = "form1" method = "post" action = "<c: url value =" / Common / Login.Action "/>"> <span> <pablown nom de l'utilisateur: </ label> <entrée nom = "Loginname" id = "Loginname" Type = "Entre Name =" Loginname "Id =" LOGINNAM value = "admin" /> </ span> <span> <bablow> mot de passe: </ label> <entrée type = "mot de passe" name = "mot de passe" id = "mot de passe" value = "123" /> </span> <span> <input type = "soume" value = "ligin" /> </span> </orm> </v> </body> </html>page.jsp: afficher les informations de l'utilisateur après la connexion avec succès.
<% @ page Language = "Java" Pageencoding = "UTF-8"%> <% @ Taglib uri = "http://java.sun.com/jsp/jstl/core" Prefix = "C"%> <% booléen islogin = false; String LoginName = (String) request.getSession (). GetAttribute ("_ user_info_login_name_"); if (loginName! = null &&! "". equals (loginname)) {islogin = true; } request.setAttribute ("islogin", islogin); request.setAttribute ("LoginName", LoginName); %> <c: if test = "$ {islogin}"> Bonjour: $ {loginname} <a href = "<c: url value =" / Common / Loginout.Action "/>"> Login </a> </ c: if> <c: if test = "$ {! Islogin}"> <form name = "Login_form" Value = "/ Common / Login.Action" /> "> <span> <span> Numéro de mobile: </ Label> <Input name =" LoginName "id =" LoginName "Type =" Text "Value =" "/> </ Span> <span> <label> mot de passe: </ label> <entrée type =" mot de passe "Name =" Password "id =" Value "Value =" "/> </ Span> <pank> </span> </ form> </c: if>Ce qui précède est l'exemple de connexion de l'utilisateur Web Java qui vous est présenté par l'éditeur. J'espère que ce sera utile à tous!