Java Web用户登录实例代码
程序员文章站
2024-03-11 20:48:55
实现功能:
1、用户登陆、注销
2、利用session记录用户登陆信息
3、在jsp中展示已登陆用户信息
实现原理:
登陆后通过判断用户名和密码是否和存储的一...
实现功能:
1、用户登陆、注销
2、利用session记录用户登陆信息
3、在jsp中展示已登陆用户信息
实现原理:
登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到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; } /* 这里写你自己通过用户名查找用户信息的业务逻辑 比如:使用手机号登陆 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用户登录实例代码,希望对大家有所帮助!
下一篇: 全面解析Java中的注解与注释