ใช้ฟังก์ชั่น:
1. การเข้าสู่ระบบของผู้ใช้และออกจากระบบ
2. ใช้เซสชันเพื่อบันทึกข้อมูลการเข้าสู่ระบบของผู้ใช้
3. แสดงข้อมูลผู้ใช้ที่เข้าสู่ระบบใน JSP
หลักการดำเนินการ:
หลังจากเข้าสู่ระบบแล้วให้พิจารณาว่าชื่อผู้ใช้และรหัสผ่านนั้นสอดคล้องกับที่เก็บข้อมูลหรือไม่ หากมีความสอดคล้องให้ใส่ข้อมูลผู้ใช้ในเซสชันเพื่อจัดเก็บ หากไม่สอดคล้องกันให้แจ้งข้อมูลและกลับไปที่หน้าเข้าสู่ระบบ
ในหน้าข้อมูลที่แสดงข้อมูลข้อมูลการเข้าสู่ระบบของผู้ใช้ได้รับการแก้ไขจากเซสชัน หากพบข้อมูลผู้ใช้จะปรากฏขึ้น หากไม่พบกล่องเข้าสู่ระบบจะปรากฏขึ้น
การเข้าสู่ระบบนั้นง่ายมากมันคือการล้างข้อมูลเซสชัน
เอกสารหลัก:
1. การเข้าสู่ระบบ: คลาสแอ็คชั่นของ Struts2 ใช้เพื่อจัดการกับการเข้าสู่ระบบหลักและตรรกะการออกจากระบบของฝั่ง Java
2. login.jsp: หน้าเข้าสู่ระบบผู้ใช้ผู้ใช้จะป้อนชื่อผู้ใช้และรหัสผ่านและหากการเข้าสู่ระบบล้มเหลวข้อมูลที่ล้มเหลวจะปรากฏขึ้น
3. page.jsp: แสดงข้อมูลผู้ใช้หลังจากเข้าสู่ระบบสำเร็จ
4. struts.xml: ไฟล์การกำหนดค่า struts
การเข้าสู่ระบบ: คลาสแอ็คชั่นของ Struts2 ใช้เพื่อจัดการกับการเข้าสู่ระบบหลักและตรรกะการออกจากระบบของฝั่ง Java
แพ็คเกจ luju.me.teach.struts2.login; นำเข้า Javax.servlet.http.cookie; นำเข้า javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; นำเข้า Javax.servlet.http.httpservletResponse; นำเข้า Javax.servlet.http.httpsession; นำเข้า org.apache.commons.lang.stringutils; นำเข้า org.apache.struts2.servletactionContext; นำเข้า com.opensymphony.xwork2.action; /** * @author lu ju http://luju.me * */การเข้าสู่ระบบคลาสสาธารณะ {สตริงส่วนตัวเข้าสู่ระบบชื่อ; รหัสผ่านสตริงส่วนตัว ผงชูรสส่วนตัว สตริงสาธารณะ getmsg () {return msg; } โมฆะสาธารณะ setMSG (สตริงผงชูรส) {this.msg = msg; } สตริงสาธารณะ getLoginName () {ส่งคืน loginName; } โมฆะสาธารณะ setLoginName (สตริง loginName) {this.loginName = loginName; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; } / ** เข้าสู่ระบบผู้ใช้* / การเข้าสู่ระบบสตริงสาธารณะ () {ถ้า (stringUtils.isblank (this.loginName)) {return action.input; } /* ที่นี่คุณเขียนตรรกะทางธุรกิจเพื่อค้นหาข้อมูลผู้ใช้ตามชื่อผู้ใช้ตัวอย่างเช่น: เข้าสู่ระบบ Citizen User = PrMservice.QueryEgoVcitizenbyMobile (this.loginName); .... */if (user == null || user.getpwd () == null ||! user.getpwd (). getValue (). เท่ากับ (นี่คือ 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_", ผู้ใช้); // ตั้งค่าคุกกี้ this.getResponse (). addcookie (คุกกี้ใหม่ ("_ user_info_login_name_", this.loginName)); this.getResponse (). addcookie (คุกกี้ใหม่ ("_ user_info_user_id_", user.getId (). getValue ())); return action.success; }} /*** logout* /public String loginOut () {// ล้างเซสชัน this.getSession (). unvalidate (); return action.success; } public httpsession getSession () {return servletactionContext.getRequest (). getSession (); } สาธารณะ httpservletRequest getRequest () {return servletactionContext.getRequest (); } public httpservletResponse getResponse () {return servletactionContext.getResponse (); -struts.xml: ไฟล์การกำหนดค่า struts
<? xml version = "1.0" การเข้ารหัส = "UTF-8"?> <! Doctype struts สาธารณะ "-// Apache Software Foundation // dtd struts การกำหนดค่า 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd" name = "login" method = "เข้าสู่ระบบ"> <name result = "input"> login.jsp </result> <name result = "success" type = "redirect">/page.jsp </result> </action> <action name = "loginout" method = "loginout"> <result name = "success"
เข้าสู่ระบบ.jsp: หน้าเข้าสู่ระบบของผู้ใช้ชื่อผู้ใช้ชื่อผู้ใช้และรหัสผ่านและหากการเข้าสู่ระบบล้มเหลวข้อมูลที่ล้มเหลวจะปรากฏขึ้น
<%@ page language = "java" pageencoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <html> <head> <title> ยินดีต้อนรับสู่การเข้าสู่ระบบ </title> </head> <body> <div id = "เข้าสู่ระบบ"> <span> $ {msg} </span> <form name = "form1" method = "post" action = "<c: url value ="/login.action.action " value = "admin"/> </span> <span> <dable> รหัสผ่าน: </label> <อินพุต type = "รหัสผ่าน" ชื่อ = "รหัสผ่าน" id = "รหัสผ่าน" value = "123"/> </span>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: ถ้า test = "$ {islogin}"> สวัสดี: $ {loginName} <a href = "<c: url value ="/สามัญ/loginout.action "/>"> ล็อกอิน </a> </c: ถ้า> <c: ถ้าทดสอบ = "$ {! islogin}" value = "/common/login.action"/> "> <span> <span> <dable> หมายเลขมือถือ: </label> <ชื่ออินพุต =" loginName "id =" loginName "type =" text "value ="/> </span> <span> <dable> </label> <อินพุตประเภท = "รหัสผ่าน" </span> </form> </c: ถ้า>ข้างต้นคือรหัสตัวอย่างการเข้าสู่ระบบของผู้ใช้ Java Web ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน!