기능 구현 :
1. 사용자 로그인 및 로그 아웃
2. 세션을 사용하여 사용자 로그인 정보를 기록하십시오
3. JSP의 로그인 사용자 정보 표시
구현 원칙 :
로그인 한 후 사용자 이름과 암호가 스토리지와 일치하는지 확인하십시오. 일관된 경우 세션에 사용자 정보를 넣으려면 저장하십시오. 일관성이없는 경우 정보를 프롬프트하고 로그인 페이지로 돌아갑니다.
디스플레이 정보 페이지에서 사용자 로그인 정보는 세션에서 수정됩니다. 발견되면 사용자 정보가 표시됩니다. 찾을 수없는 경우 로그인 상자가 표시됩니다.
로그 아웃은 매우 간단합니다. 세션 정보를 지우는 것입니다.
주요 문서 :
1. LoginAction : Struts2의 액션 클래스는 Java 쪽의 기본 로그인 및 로그 아웃 로직을 처리하는 데 사용됩니다.
2. login.jsp : 사용자 로그인 페이지, 사용자가 사용자 이름과 암호를 입력하고 로그인이 실패하면 실패한 정보가 표시됩니다.
3. page.jsp : 성공적으로 로그인 후 사용자 정보 표시.
4. struts.xml : struts 구성 파일.
로그인 : Java 측의 주요 로그인 및 로그 아웃 로직을 처리하는 데 사용되는 Struts2의 액션 클래스
패키지 luju.me.teach.struts2.login; javax.servlet.http.cookie import; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.servlet.http.httpservletresponse; import javax.servlet.http.httpsession; import org.apache.commons.lang.stringutils; import org.apache.struts2.servletactionContext; com.opensymphony.xwork2.action import; /** * @author lu ju http://luju.me */public class loginaction {private String loginname; 개인 문자열 비밀번호; 개인 문자열 msg; 공개 문자열 getmsg () {return msg; } public void setmsg (문자열 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 (문자열 비밀번호) {this.password = password; } / ** 사용자 로그인* / public string login () {if (stringUtils.isblank (this.loginName)) {return action.input; } /* 여기에서 사용자 이름을 통해 사용자 정보를 찾기위한 비즈니스 로직을 작성합니다. .... */if (user == null || user.getpwd () == null ||! user.getpwd (). getValue (). Equals (this.password)) {// 로그인 실패 this.msg = "사용자가 존재하지 않거나 암호가 잘못되었습니다!"; return action.input; } else {// 성공적으로 로그인 // 세션을 설정 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); // 쿠키 세트 this.getResponse (). addCookie (새 쿠키 ( "_ user_info_login_name_", this.loginname); this.getResponse (). addCookie (새 쿠키 ( "_ user_info_user_id_", user.getId (). getValue ()); 반환 action.success; }} /*** logout* /public string loginout () {// section this.getSession (). invalidate (); 반환 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 소프트웨어 재단 // dtd struts configuration 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd"> 이름 = "로그인"메소드 = "로그인"> <결과 이름 = "input"> login.jsp </result> <result name = "success"type = "redirect">/page.jsp </resent> </action> <action name = "loginout"method = "loginout"> <result name = "success"= "redirect"> </action> </action> </acture "
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 = "텍스트/html; <title> 로그인에 오신 것을 환영합니다 </title> </head> <body> <div id = "로그인"> <span> $ {msg} </span name = "form1"method = "post"action = "<c : url value ="/common/login.action "/>"> <span> <label> username : </label " value = "admin"/> </span> <span> <label> 비밀번호 : </label> <input type = "password"name = "password"id = "id ="password "value ="123 "/> </span> <span> <입력 유형 ="value = "login"/</span> </form> </div> </html>page.jsp : 성공적으로 로그인 한 후 사용자 정보 표시.
<%@ page language = "java"pageencoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core"prefix = "c"%> <%boolean islogin = false; 문자열 loginname = (string) request.getSession (). getAttribute ( "_ user_info_login_name_"); if (loginname! = null &&! "". } request.setAttribute ( "Islogin", Islogin); request.setattribute ( "loginname", loginname); %> <c : if test = "$ {islogin}"> hello : $ {loginname} <a href = "<c : url value ="/common/loginout.action "/>"> login </a> </c : if> <c : if test = "$ {! islogin}"> rogin_form " value = "/common/login.action"/> "> <span> <label> 휴대 전화 번호 : </label> <input name ="loginname "id ="loginname "type ="text "value =" "/</span> <span> <label> password : </label> <입력 유형 ="password "name ="password "value =" "/> <span> <span> <input> 값 = "로그인"/> </span> </form> </c : if>위는 편집자가 귀하에게 소개 한 Java Web User Login 예제 코드입니다. 나는 그것이 모두에게 도움이되기를 바랍니다!