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}
<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>
위에서 말한 것은 여러분에게 소개된 자바 웹 사용자 로그인 실례 코드입니다. 여러분에게 도움이 되기를 바랍니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javaweb에서 양식 데이터를 가져오는 다양한 방법Javaweb에서 양식 데이터를 가져오는 몇 가지 방법 1. 키 값이 맞는 형식으로 폼 데이터를 얻는다 getParameter(String name): 키를 통해 value를 반환합니다. getParameterVal...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.