Implementar funções:
1. Login e logout de usuário
2. Use sessão para gravar informações de login do usuário
3. Exibir informações do usuário conectado ao JSP
Princípio de implementação:
Após o login, determine se o nome do usuário e a senha são consistentes com o armazenamento. Se for consistente, coloque as informações do usuário na sessão para armazená -las; Se for inconsistente, solicite as informações e retorne à página de login.
Na página de informações de exibição, as informações de login do usuário são corrigidas na sessão. Se for encontrado, as informações do usuário serão exibidas. Se não for encontrado, a caixa de login será exibida.
O registro é muito simples, é limpar as informações da sessão.
Principais documentos:
1. LoginAction: a classe de ação do Struts2 é usada para lidar com a lógica principal de login e logout do lado Java.
2. Login.jsp: página de login do usuário, usuário insere nome e senha de usuário e, se o login falhar, as informações com falha serão exibidas.
3. Page.jsp: Exiba as informações do usuário após o login com sucesso.
4.
LoginAction: Classe de ação do Struts2, usado para lidar com a lógica de login e logout principal do lado Java
pacote luju.me.teach.struts2.login; importar javax.servlet.http.cookie; importar javax.servlet.http.httpServletRequest; importar javax.servlet.http.httpServletResponse; importar javax.servlet.http.httpServletResponse; importar javax.servlet.http.httpSession; importar org.apache.commons.lang.stringutils; importar org.apache.struts2.ServletActionContext; importação com.opensymphony.xwork2.action; /** * @author lu ju http://luju.me * */public class LoginAction {private string loginName; senha de sequência privada; msg de sequência privada; public String 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 senha; } public void setPassword (string senha) {this.password = senha; } / ** Login do usuário* / public String Login () {if (stringUtils.isblank (this.loginname)) {return action.input; } /* Aqui você escreve a lógica de negócios para encontrar informações do usuário através do nome de usuário, por exemplo: Log in Citizen User = prmService.QueryegovcitizenByMobile (this.loginname); .... */if (user == null || user.getpwd () == null ||! user.getpwd (). getValue (). equals (this.password)) {// login falhou this.msg = "o usuário não existe ou a senha está errada!"; return Action.input; } else {// login com sucesso // Defina sessão 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_", usuário); // defina cookie this.getResponse (). Addcookie (novo cookie ("_ user_info_login_name_", this.loginname)); this.getResponse (). addcookie (novo cookie ("_ user_info_user_id_", user.getid (). getValue ())); return Action.Success; }} /*** logout* /public String Loginout () {// Limpar sessão this.getSession (). Invalidate (); return Action.Success; } public httpSession getSession () {return servletActionContext.getRequest (). getSession (); } public httpServletRequest getRequest () {return servletActionContext.getRequest (); } public httpServletResponse getResponse () {return servletActionContext.getResponse (); }}Struts.xml: Arquivo de configuração de suporte
<? xml versão = "1.0" coding = "utf-8"?> <! Doctype suporta public "-// Apache Software Foundation // DTD Struts Configuration 2.0 // pt" "http://struts.apache.org/dtds/stuts-2.0.dtd"> <stuts.apache.org/dtds/stuts-2.0.dtd "> name = "login" method = "login"> <resultado name = "input"> login.jsp </resultado> <resultado name = "success" type = "redirect">/page.jsp </resultado> </action> <action name = "loginout" method = "loginout"> <resultado = "success" type = "redirect"> login.todin.action = "Loginout"> <resultado = "success" = "Redirect"> Login.
Login.jsp: página de login do usuário, nome do usuário e senha de entrada do usuário e, se o login falhar, as informações com falha serão exibidas.
<%@ Page Language = "Java" PageEncoding = "Utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <html> <head> <meta http-equiv = "contentpe" <Title> Bem -vindo ao login </itit> </adhead> <body> <div id id = "login"> <pan> $ {msg} </span> <forma name = "form1" method = "post" action = "<c: url value ="/common/login.action "/"> <bating> <eket> username: </letting "/input/input/login.action"/> "> <bating> <eket> username: </lad. value = "admin"/> </span> <pan> <breting> senha: </celt> <input type = "senha" name = "senha" id = "senha" value = "123"/> </span> </span> <input type = "submit" value = "login"/> </span> </form> </div> </body> </Page.JSP: Exiba as informações do usuário após o login com sucesso.
<%@ Page Language = "Java" PageEncoding = "Utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <%boolean 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}"> hello: $ {loginName} <a href = "<c: url value ="/common/loginout.action "/>"> login </a> </c: if> <c: se test = "$ {! Value = "/Common/login.action"/> "> <pange> <breting> Número do celular: </crety> <name de entrada =" loginname "id =" loginname "type =" text "value =" "/> </span> <pan> <bret> senha: </cret> <input Type =" "name =" "" id/"" " value = "Login"/> </span> </morm> </c: se>O exposto acima é o código de exemplo de login do usuário da web java introduzido pelo editor. Espero que seja útil para todos!