欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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用户登录实例代码,希望对大家有所帮助!