Java Web用戶登錄實例代碼
實現(xiàn)功能:
1、用戶登陸、注銷
2、利用session記錄用戶登陸信息
3、在JSP中展示已登陸用戶信息
實現(xiàn)原理:
登陸后通過判斷用戶名和密碼是否和存儲的一致,如果一致,就把用戶信息放到session中儲存;如果不一致就提示信息,并且返回登陸頁面。
顯示信息頁面上固定從session中找用戶登陸信息,找到就顯示用戶信息,沒找到就顯示登陸框。
注銷很簡單,就是清空session信息。
主要文件:
1、LoginAction:struts2的Action類,用于處理JAVA端的主要登陸和登出邏輯。
2、login.jsp:用戶登陸頁面,用戶輸入用戶名和密碼,如果登陸失敗顯示失敗信息。
3、page.jsp:登陸成功后顯示用戶信息。
4、struts.xml:struts的配置文件。
LoginAction:struts2的Action類,用于處理JAVA端的主要登陸和登出邏輯
package luju.me.teach.struts2.login; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.lang.StringUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; /** * @author 魯炬 http://luju.me * */ public class LoginAction { private String loginname; private String password; private String msg; 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 password; } public void setPassword(String password) { this.password = password; } /** 用戶登陸 */ public String login() { if(StringUtils.isBlank(this.loginname)) { return Action.INPUT; } /* 這里寫你自己通過用戶名查找用戶信息的業(yè)務邏輯 比如:使用手機號登陸 Citizen user = prmService.queryEGovCitizenByMobile(this.loginname); .... */ if(user == null || user.getPwd() == null || !user.getPwd().getValue().equals(this.password)) { //登陸失敗 this.msg = "用戶不存在或密碼錯誤!"; return Action.INPUT; } else { //登陸成功 //設置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_", user); //設置cookie this.getResponse().addCookie(new Cookie("_USER_INFO_LOGIN_NAME_", this.loginname)); this.getResponse().addCookie(new Cookie("_USER_INFO_USER_ID_", user.getId().getValue())); return Action.SUCCESS; } } /** * 注銷 */ public String loginout() { //清空session 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: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 name="common" namespace="/common"> <action name="login" class="luju.me.site.common.action.LoginAction" method="login"> <result name="input">login.jsp</result> <result name="success" type="redirect">/page.jsp</result> </action> <action name="loginout" class="luju.me.site.common.action.LoginAction" method="loginout"> <result name="success" type="redirect">login.action</result> </action> </package> </struts>
login.jsp:用戶登陸頁面,用戶輸入用戶名和密碼,如果登陸失敗顯示失敗信息。
<%@ 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>歡迎登錄</title> </head> <body> <div id="login"> <span>${msg}</span> <form name="form1" method="post" action="<c:url value="/common/login.action" />" > <span> <label>用戶名:</label> <input name="loginname" id="loginname" type="text" value="admin" /> </span> <span> <label>密碼:</label> <input type="password" name="password" id="password" value="123"/> </span> <span> <input type="submit" value="登陸" /> </span> </form> </div> </body> </html>
page.jsp:登陸成功后顯示用戶信息。
<%@ 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}"> 你好:${loginName} <a href="<c:url value="/common/loginout.action" />">注銷</a> </c:if> <c:if test="${!isLogin}"> <form name="login_form" method="post" action="<c:url value="/common/login.action" />" > <span> <label>手機號:</label> <input name="loginname" id="loginname" type="text" value="" /> </span> <span> <label>密碼:</label> <input type="password" name="password" id="password" value=""/> </span> <span> <input type="submit" value="登陸" /> </span> </form> </c:if>
以上所述是小編給大家介紹的Java Web用戶登錄實例代碼,希望對大家有所幫助!
相關文章
Spring Boot結合IDEA自帶Maven插件如何快速切換profile
IDEA是目前 Java 開發(fā)者中使用最多的開發(fā)工具,它有著簡約的設計風格,強大的集成工具,便利的快捷鍵,這篇文章主要介紹了Spring Boot結合IDEA自帶Maven插件快速切換profile,需要的朋友可以參考下2023-03-03關于Unsupported major.minor version 49.0的錯誤解決辦法
這篇文章主要介紹了關于Unsupported major.minor version 49.0的錯誤解決辦法的相關資料,需要的朋友可以參考下2015-11-11使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細步驟
這篇文章主要介紹了使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12