สิ่งแรกคือการสร้างสภาพแวดล้อม struts2
ขั้นตอนที่ 1 ดาวน์โหลด struts2
ไปที่เว็บไซต์อย่างเป็นทางการของ Struts http://struts.apache.org/ เพื่อดาวน์โหลดส่วนประกอบ struts2
ณ ตอนนี้ Struts2 เวอร์ชันล่าสุดคือ 2.3.1.3 ดาวน์โหลด struts-2.3.16.3- all.zip, unzip และทิ้งไว้
ขั้นตอนที่สอง คือการสร้างโครงการเว็บใหม่และนำเข้าแพ็คเกจ JAR สร้างโครงการเว็บใหม่ใน Myeclispe จากนั้นค้นหาแพ็คเกจ struts2 ที่รูดซิป ค้นหา struts2-blank.war ในโฟลเดอร์แอพ คลายซิปไฟล์สงครามนี้และคัดลอกไฟล์ JAR ทั้งหมดในไดเรกทอรี Web-Inf/LIB ไปยังไดเรกทอรี WebRoot/Web-Inf/LIB ของโครงการเว็บที่สร้างขึ้นใหม่
ขั้นตอนที่ 3 เพื่อกำหนดค่า web.xml
ค้นหาไฟล์ web.xml ใน webroot/ web-inf/ ไดเรกทอรีของโครงการ สร้างไฟล์ web.xml ใหม่โดยไม่มีไฟล์ เพิ่มรหัสต่อไปนี้ลงไป:
<silter> <filter-name> struts2 </tilter-name> <silter-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter </filter-class> </filter> <url-pattern>/*</url-pattern> </filter-mapping>
นี่คือตัวอย่างของไฟล์ web.xml ที่สมบูรณ์:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://xmlns.jcp.org/xml xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/nsds id = "webapp_id" เวอร์ชัน = "3.1"> <plill-name> web1 </display-name> <filter> <filter-name> struts2 </filter-name> <Stilter-Name> struts2 </filter-name> <url-pattern>/*</url-pattern> </solter-mapping> <welcome-file-list> <welcome-file> index.html <welcome-file> <welcome-file> index.htm </elest-file> <welcome-file> default.htm </welcome-file> <welcome-file> default.jsp </welcome-file> </welcome-file-list> </eb-app>
ขั้นตอนที่ 4 : กำหนดค่า struts.xml
ค้นหาไฟล์ struts.xml ในไดเรกทอรี SRC ของโครงการ หากคุณไม่มีมันให้สร้างใหม่ รหัสภายในมีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "UTF-8"?> <! Doctype struts สาธารณะ "-// Apache Software Foundation // dtd struts การกำหนดค่า 2.3 // en" "http://struts.apache.org/dtds/struts-2.3.dtd" ดำเนินการที่นี่ -> </package> </struts>
ณ จุดนี้สภาพแวดล้อมการพัฒนา Struts2 ได้ถูกสร้างขึ้น
ต่อไปนี้แสดงให้เห็นถึง อินสแตนซ์ของหน้าเข้าสู่ระบบ
ขั้นตอนแรกคือ การแก้ไข index.jsp
แก้ไข index.jsp เพื่อสร้างอินเทอร์เฟซเข้าสู่ระบบ
นี่คือรหัสสำหรับ index.jsp:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! doctype html> <html> <head> <title> ล็อกอิน < /title> </head> <body> type = "รหัสผ่าน" name = "รหัสผ่าน" /> <br /> <อินพุต type = "ส่ง" value = "เข้าสู่ระบบ" /> </form> </body> </html>
นี่คือผลกระทบของ index.jsp ในเบราว์เซอร์:
ขั้นตอนที่สอง คือการเขียนคลาสที่ตรวจสอบบัญชีและรหัสผ่านเพื่อสร้างคลาส logaction ใหม่เพื่อให้สามารถสืบทอด com.opensymphony.xwork2.actionsupport คลาส โปรดทราบว่าแอตทริบิวต์ชื่อของกล่องอินพุตทั้งสองใน index.jsp เป็นชื่อผู้ใช้และรหัสผ่านตามลำดับดังนั้นคลาส logaction จะต้องมีคุณสมบัติสองประการต่อไปนี้:
ชื่อผู้ใช้สตริงส่วนตัว
รหัสผ่านสตริงส่วนตัว
และพวกเขาจะต้องเขียนวิธีการรับและตั้งค่าของพวกเขา
จากนั้นเขียนวิธีการดำเนินการตรวจสอบบัญชีและรหัสผ่านในวิธีการดำเนินการและส่งคืนผลลัพธ์ของประเภทสตริง วิธีการดำเนินการจะถูกดำเนินการโดยอัตโนมัติเมื่อมีการเรียกคลาสการกระทำ
นี่คือรหัสที่สมบูรณ์ของ logaction.java:
แพ็คเกจ com.lidi.struts.action; นำเข้า com.opensymphony.xwork2.ActionSupport; LOGACTION ระดับสาธารณะขยายการกระทำที่มีการดำเนินการ {ส่วนตัวคงที่สุดท้ายคงที่ความยาว serialVersionUID = 1L; ชื่อผู้ใช้สตริงส่วนตัว; // บัญชีรหัสผ่านส่วนตัวรหัสผ่าน; // รหัสผ่าน // getters & setters สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; } / ** * วิธีการดำเนินการจะถูกดำเนินการโดยอัตโนมัติเมื่อมีการเรียกคลาสการกระทำ * หากหมายเลขบัญชี = "admin" และรหัสผ่าน = "123456" มันจะส่งคืนความสำเร็จ * มิฉะนั้นมันจะส่งคืนข้อผิดพลาด * / สตริงสาธารณะดำเนินการ () {ถ้า (ชื่อผู้ใช้ } return error; -ข้างต้นหมายถึงอะไรในการส่งคืนความสำเร็จและการส่งคืนข้อผิดพลาด? มาพูดถึงเรื่องนี้ในภายหลัง
ขั้นตอนที่ 3 เพื่อกำหนดค่า struts.xml
ขั้นตอนที่สองคือการเขียนคลาสแอ็คชั่นและขั้นตอนที่สามคือการกำหนดค่าการกระทำเป็น struts.xml เปิด struts.xml และเพิ่มรหัสต่อไปนี้ลงในแท็กแพ็คเกจ:
<action name = "login"> <name result = "success"> success.jsp </result> <name result = "error"> error.jsp </result> </action>
แอตทริบิวต์ชื่อของแท็กการกระทำคือการเข้าสู่ระบบซึ่งจะต้องสอดคล้องกับแอตทริบิวต์การกระทำของแท็กฟอร์มใน index.jsp แอตทริบิวต์คลาสเติมในชื่อเต็มของคลาส logaction
<name result = "ความสำเร็จ"> success.jsp </result> แท็กนี้หมายความว่าเมื่อวิธีการดำเนินการของคลาส logaction ส่งคืนความสำเร็จหน้าจะกระโดดไปสู่ความสำเร็จ JSP; ในทำนองเดียวกัน <name result = "success"> success.jsp </result> แท็กนี้หมายความว่าเมื่อวิธีการดำเนินการของคลาส logaction ส่งคืนข้อผิดพลาดหน้าจะกระโดดไปยัง error.jsp
รหัส struts.xml ที่สมบูรณ์มีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype struts สาธารณะ "-// Apache Software Foundation // dtd struts การกำหนดค่า 2.3 // en" "http://struts.apache.org/dtds/struts-2.3.dtd" name = "login"> <name result = "success"> success.jsp </result> <name result = "error"> error.jsp </result> </action> </package> </struts>
success.jsp และ error.jsp ถูกใช้ที่นี่ สร้างไฟล์สองไฟล์นี้ในโครงการ success.jsp แสดงหน้าหลังจากเข้าสู่ระบบสำเร็จ บัญชีและรหัสผ่านสำหรับการเข้าสู่ระบบจะปรากฏขึ้น ข้อผิดพลาด jsp แสดงหน้าหลังจากการเข้าสู่ระบบล้มเหลว ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น รหัสของพวกเขามีดังนี้:
success.jsp
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%@ taglib prefix = "s" uri = "/struts-tags"%> <! ประสบความสำเร็จ! <br/> </body> </html>
<%@ taglib prefix = "s" uri = "/struts-tags"%> หมายถึงการอ้างถึงไลบรารีแท็ก struts
<S: ค่าคุณสมบัติ = "ชื่อผู้ใช้" /> เป็นแท็ก struts ซึ่งใช้เพื่อแสดงบัญชีที่ส่งผ่านโดยหน้าเข้าสู่ระบบ
Error.jsp
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! doctype html> <html> <head> <title> การเข้าสู่ระบบล้มเหลว </title> </head> <body> ล็อกอินล้มเหลว! ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง! </body> </html>
ขั้นตอนที่ 4: หลังจากเรียกใช้ struts.xml การกำหนดค่าคุณต้องรีสตาร์ทเซิร์ฟเวอร์แล้วดูเอฟเฟกต์ในเบราว์เซอร์
ป้อนบัญชีและรหัสผ่านของคุณและเข้าสู่ระบบหากบัญชีและรหัสผ่านเป็นผู้ดูแลระบบและ 123456 ตามลำดับหน้าจะแสดงการต้อนรับผู้ดูแลระบบและเข้าสู่ระบบได้สำเร็จ!
มิฉะนั้นความล้มเหลวในการเข้าสู่ระบบจะปรากฏขึ้น! ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง!
ขั้นตอนที่ 5: หลักการของการดำเนินการโปรแกรมได้รับการวิเคราะห์สั้น ๆ หลังจากผู้ใช้กรอกรหัสผ่านบัญชีและคลิกเพื่อเข้าสู่ระบบเบราว์เซอร์จะขอลิงค์ในแอตทริบิวต์การกระทำแท็กฟอร์มนั่นคือการเข้าสู่ระบบ ในเซิร์ฟเวอร์ตัวกรองจะสกัดกั้นคำขอเข้าสู่ระบบและจะค้นหาการกระทำของชื่อ = เข้าสู่ระบบใน struts.xml จากนั้นค้นหาคลาสที่สอดคล้องกับแอตทริบิวต์คลาสของการกระทำนี้นั่นคือ com.lidi.struts.action.logaction เป็นแอตทริบิวต์ชื่อของสองกล่องข้อความใน index.jsp และต้องเพิ่มวิธีการรับและตั้งค่าของพวกเขา) จากนั้นดำเนินการวิธีการดำเนินการของวัตถุนี้และส่งคืนสตริง หากสตริงความสำเร็จถูกส่งคืนให้มองหาแอตทริบิวต์ชื่อในแท็กการกระทำที่สอดคล้องกัน <result> แท็กใน struts.xml ที่เท่ากับแท็ก <results> ความสำเร็จและหมุนหน้าไปยังหน้าเว็บที่กำหนดค่าในแท็ก
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น