สตรัท2
Struts2 ได้รับการพัฒนาจาก WebWork2 เช่นเดียวกับ struts1 Struts2 ก็เป็นของกรอบงาน MVC เช่นกัน แต่สิ่งหนึ่งที่ทุกคนต้องใส่ใจก็คือ แม้ว่าชื่อระหว่าง Struts2 และ struts1 จะไม่แตกต่างกันมากนัก แต่รูปแบบการเขียนโค้ดของ Struts2 และ struts1 ก็เกือบจะแตกต่างกัน ตอนนี้เรามีสตรัท1 แล้ว ทำไมเราจึงควรเปิดตัวสตรัท2 สาเหตุหลักมาจาก struts2 มีข้อดีดังต่อไปนี้:
1>ในแง่ของการออกแบบซอฟต์แวร์ Struts2 ไม่ได้อยู่คู่กับ ServletAPI และ strutsAPI อย่างแน่นหนาเท่ากับแอปพลิเคชัน Struts2 ไม่ได้ขึ้นอยู่กับ ServletAPI และ strutsAPI การออกแบบ Struts2 นี้เป็นการออกแบบที่ไม่ก้าวก่าย ในขณะที่ Struts1 เป็นการออกแบบที่ไม่ก้าวก่าย
publicclassOrderListAction ขยายการกระทำ {
publicActionForwardexecute (ActionMappingmapping, ActionFormform,
คำขอ HttpServletRequest, การตอบสนอง HttpServlet)
พ่นข้อยกเว้น{
-
-
2>Struts2 มี interceptor ซึ่งสามารถใช้สำหรับการเขียนโปรแกรม AOP เพื่อใช้งานฟังก์ชันต่างๆ เช่น การสกัดกั้นสิทธิ์
3>Strut2 มีตัวแปลงประเภท เราสามารถแปลงพารามิเตอร์คำขอพิเศษเป็นประเภทที่ต้องการได้ ใน Struts1 หากเราต้องการบรรลุฟังก์ชันเดียวกัน เราต้องลงทะเบียนตัวแปลงประเภทกับ BeanUtil ซึ่งเป็นการใช้งานพื้นฐานของ Struts1
4>Struts2 ให้การสนับสนุนเทคโนโลยีเลเยอร์การนำเสนอที่หลากหลาย เช่น: JSP, freeMarker, Velocity เป็นต้น
5>การตรวจสอบอินพุตของ Struts2 สามารถตรวจสอบวิธีการที่ระบุ ซึ่งแก้ไขความเจ็บปวดในระยะยาวของ Struts1
6>ให้การดำเนินการจัดการไฟล์ทรัพยากรที่เป็นสากลในขอบเขตสากล ขอบเขตแพ็คเกจ และขอบเขตการดำเนินการ
ตั้งค่าสภาพแวดล้อมการพัฒนา Struts2
1. ค้นหาไฟล์ jar ที่จำเป็นในการพัฒนาแอปพลิเคชัน Struts2
ไฟล์ jar ขั้นต่ำที่จำเป็นสำหรับการพัฒนา Struts2
struts-core-2.xxjar: ไลบรารีคลาสหลักของเฟรมเวิร์ก Struts2
xwork-2.xxjar: ไลบรารีคลาส XWork, Struts2 ถูกสร้างขึ้นด้านบน
ognl-2.6.jar: สำหรับภาษาการนำทางรูปภาพ (ObjectGraphNavigationLanguage) เฟรมเวิร์ก Struts2 จะอ่านและเขียนคุณสมบัติของอ็อบเจ็กต์ผ่านมัน
freemarker-2.3.x.jar: เทมเพลตป้ายกำกับ Struts2 UI เขียนโดยใช้ freeMarker
commons-logging-1.1.x.jar: แพ็คเกจบันทึกที่สร้างโดย ASF เฟรมเวิร์ก Struts2 ใช้แพ็คเกจบันทึกนี้เพื่อรองรับการบันทึก Log4J และ JDK1.4+
commons-filteupload-1.2.1.jar คอมโพเนนต์การอัปโหลดไฟล์ ต้องเพิ่มไฟล์หลังเวอร์ชัน 2.1.6
2. เขียนไฟล์คอนฟิกูเรชัน Struts2
ไฟล์คอนฟิกูเรชันเริ่มต้นของ Struts2 คือ struts.xml ไฟล์นี้ต้องถูกเก็บไว้ภายใต้ WEB-INF/คลาส เทมเพลตการกำหนดค่าของไฟล์นี้เป็นดังนี้:
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apatche.org/dtds/struts-2.0.dtd">
<สตรัท>
</สตรัท>
3. เพิ่มการกำหนดค่าการเริ่มต้นเฟรมเวิร์ก Struts2MVC ให้กับ Web.xml
ใน struts1.x เฟรมเวิร์ก struts เริ่มต้นผ่าน Servlet ใน struts2 เฟรมเวิร์ก struts เริ่มต้นผ่านตัวกรอง การกำหนดค่าของเขาใน web.xml เป็นดังนี้:
<ตัวกรอง>
<ตัวกรองชื่อ>สตรัท2</ตัวกรองชื่อ>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--ตั้งแต่ Struts2.1.3 FilterDispatcher ต่อไปนี้ถูกทำเครื่องหมายว่าล้าสมัย
<ตัวกรองคลาส>org.apache.struts2.dispatcher.FilterDispatcher</ตัวกรองคลาส>-->
</ตัวกรอง>
<ตัวกรอง=การแมป>
<ตัวกรองชื่อ>สตรัท2</ตัวกรองชื่อ>
<url-รูปแบบ>/*<url-รูปแบบ>
</การแมปตัวกรอง>
ในเมธอด init() ของ StrutsPerpareAndExecuteFilter ไฟล์คอนฟิกูเรชันดีฟอลต์ struts.xml ในคลาสพาธจะถูกอ่านเพื่อให้การดำเนินการเริ่มต้นเสร็จสมบูรณ์
ข้อมูลเบื้องต้นเกี่ยวกับแพ็คเกจในการกำหนดค่า Struts.xml
<packagename="itcast"namespace="/test"extends="struts-defult">
<actionname="helloworld"class="cn.itcast.action.HelloWorldAction"method="execute">
<resultname="success">/WEB-INF/page/hello.jsp</result>
</การกระทำ>
</แพ็คเกจ>
หากต้องการค้นหาไฟล์ jar ที่ต้องการพัฒนา คุณต้องแตกไฟล์: struts-2.3.8-all.gz
หรือ struts-2.3.8-apps.gz ค้นหาไฟล์ภายใต้ struts-2.3.8-all/struts-2.3.8/apps ดังนี้:
มีการจัดเตรียมโปรเจ็กต์เปล่า struts2-blank และเราสามารถพัฒนา struts2 ในโปรเจ็กต์นี้ได้
ฉันควรทำอย่างไรหากฉันต้องการการสนับสนุนจากไฟล์ jar อื่น ๆ ในระหว่างกระบวนการพัฒนา
คุณต้องค้นหาไฟล์ jar ที่เกี่ยวข้องใน /struts-2.3.8-all/struts-2.3.8/lib
วิธีขยายขนาดโปรเจ็กต์ struts2-blank.war - คัดลอกไปยัง webapps ใน tomcat และเริ่ม tomcat
ค้นหา startup.bat ใน apache-tomcat/bin แล้วคลิกเพื่อเริ่ม
สังเกต:
คุณสามารถเปิดเบราว์เซอร์ IE ได้
ป้อน http://localhost:8080/struts2-blank
ค้นหาไฟล์ jar ที่คลายการบีบอัด: apache-tomcat/webapps/struts2-blank/WEB-INF/lib
บันทึกข้อผิดพลาด:
1. java.net.BindException:Addressalreadyinuse:JVM_Bind
การวิเคราะห์: จุดบกพร่องเกิดจาก Tomcat ที่คุณใช้อยู่ไม่ได้ถูกปิดก่อนที่จะเริ่มทำงานเป็นครั้งที่สองหรือ n ครั้ง
สารละลาย:
เพียงปิด Tomcat ที่เริ่มต้นแล้ว
HTTPStatus404-/demo/servlet/demo.do
การวิเคราะห์: ไม่พบ URL ที่คุณร้องขอ: servlet/demo.do
สารละลาย:
ตรวจสอบว่า URL ของคุณมีอยู่หรือไม่ หากไม่มี ให้เพิ่มตามธุรกิจ
3.
ไม่มีการกระทำแผนที่ผนวกสำหรับการกระทำชื่อสาธิต
การวิเคราะห์: ไม่พบการดำเนินการสาธิตที่เกี่ยวข้องบนฝั่งเซิร์ฟเวอร์
การสาธิตการกระทำ
/csdn/demo.action
พร้อมท์เท่านั้น: ไม่พบการสาธิต
ไม่พบการสาธิตภายใต้ /csdn
แมลง
Noresultdefinitionforactioncom.opensymphony.xwork2.ActionSupportandresultsuccess