Java 웹 사용자 로그인 인스턴스 코드

기능 구현:
1. 사용자 로그인, 로그아웃
2. 세션을 이용하여 사용자의 로그인 정보를 기록한다
3. JSP에서 로그인한 사용자 정보 표시
실현 원리:
로그인 후 사용자 이름과 비밀번호가 저장된 것과 일치하는지 판단하고 일치하면 사용자 정보를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} 
&nbsp;&nbsp; 
<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> 
위에서 말한 것은 여러분에게 소개된 자바 웹 사용자 로그인 실례 코드입니다. 여러분에게 도움이 되기를 바랍니다!

좋은 웹페이지 즐겨찾기