Flask接口签名sign原理与实例代码浅析
193
2023-07-16
Java Web用户登录实例代码
实现功能:
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的配置文件
method="login">
method="login">
method="loginout">
method="loginout">
login.jsp:用户登陆页面,用户输入用户名和密码,如果登陆失败显示失败信息。
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
${msg}
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);
%>
你好:${loginName}
以上所述是给大家介绍的Java Web用户登录实例代码,希望对大家有所帮助!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~