Apache Struts Web Framework เป็นโซลูชันโอเพนซอร์ซฟรีสำหรับการสร้างเว็บแอปพลิเคชัน Java
ข้อมูลเพิ่มเติมสามารถพบได้ในหน้าแรก โปรดอ่านคู่มือความปลอดภัยและ Javadocs สามารถเรียกดูได้ คำถามที่เกี่ยวข้องกับการใช้ apache struts ควรโพสต์ไปยังรายชื่อผู้ใช้ส่งจดหมาย
เว็บแอปพลิเคชันแตกต่างจากเว็บไซต์ทั่วไปในเว็บแอปพลิเคชันสามารถสร้างการตอบสนองแบบไดนามิก เว็บไซต์หลายแห่งส่งมอบหน้าคงที่เท่านั้น เว็บแอปพลิเคชันสามารถโต้ตอบกับฐานข้อมูลและเครื่องยนต์ตรรกะทางธุรกิจเพื่อปรับแต่งการตอบกลับ
เว็บแอปพลิเคชันตามหน้า JavaServer บางครั้งรหัสฐานข้อมูลการออกแบบรหัสการออกแบบหน้าและรหัสการไหลของการควบคุม ในทางปฏิบัติเราพบว่าหากข้อกังวลเหล่านี้ถูกแยกออกจากกันแอปพลิเคชันขนาดใหญ่จะยากที่จะรักษา
วิธีหนึ่งในการแยกข้อกังวลในแอปพลิเคชันซอฟต์แวร์คือการใช้สถาปัตยกรรมแบบจำลองมุมมอง (MVC) โมเดลแสดงถึงรหัสธุรกิจหรือฐานข้อมูลมุมมองแสดงถึงรหัสการออกแบบหน้าและคอนโทรลเลอร์แสดงถึงรหัสการนำทาง Framework Struts ได้รับการออกแบบมาเพื่อช่วยให้นักพัฒนาสร้างเว็บแอปพลิเคชันที่ใช้สถาปัตยกรรม MVC
เฟรมเวิร์กมีองค์ประกอบสำคัญสามประการ:
สถาปัตยกรรมและแท็กของเฟรมเวิร์กนั้นสอดคล้องกับ buzzword Struts ทำงานได้ดีกับแอพพลิเคชั่นพักผ่อนทั่วไปและด้วยเทคโนโลยีเช่น SOAP และ AJAX
โครงการ Apache Struts เป็นชุมชนโอเพ่นซอร์สที่สร้างและรักษากรอบ Apache Struts โครงการประกอบด้วยกลุ่มอาสาสมัครที่หลากหลายที่แบ่งปันค่านิยมร่วมกันเกี่ยวกับการพัฒนาโอเพนซอร์สในชุมชน โครงการ Apache Struts ภูมิใจที่จะแบ่งปันค่าเหล่านี้กับองค์กรแม่ของเรา: มูลนิธิซอฟต์แวร์ Apache
โครงการนี้เรียกว่า "struts" เพราะเฟรมเวิร์กมีจุดประสงค์เพื่อให้ "การสนับสนุนที่มองไม่เห็น" ที่สนับสนุนการพัฒนาแอปพลิเคชันมืออาชีพ Struts ให้กาวที่เข้าร่วมองค์ประกอบต่าง ๆ ของแพลตฟอร์ม Java มาตรฐานให้สอดคล้องกัน เป้าหมายของเราคือการใช้ประโยชน์จากมาตรฐานที่มีอยู่โดยการผลิตชิ้นส่วนที่หายไปเราจำเป็นต้องสร้างแอปพลิเคชันระดับองค์กรที่ง่ายต่อการรักษาเมื่อเวลาผ่านไป
โครงการ Apache Struts เสนอกรอบการทำงานที่สำคัญสองรุ่น ขณะนี้เรายังคงรักษารุ่น Struts 2 เท่านั้น ขอแนะนำให้อัพเกรด struts ทั้งหมด 1.x แอปพลิเคชันเป็น struts 2 โปรดอย่าเริ่มการพัฒนาแอปพลิเคชันใหม่โดยใช้ struts 1.x เนื่องจากเราไม่ได้ออกแพตช์รักษาความปลอดภัยอีกต่อไป
Struts 2 เป็นที่รู้จักกันในชื่อ Webwork 2 หลังจากทำงานอย่างอิสระเป็นเวลาหลายปีชุมชน Webwork และ Struts ได้เข้าร่วมกองกำลังเพื่อสร้าง Struts 2 กรอบ 2.x เป็นตัวเลือกที่ดีที่สุดสำหรับทีมที่ให้ความสำคัญกับการแก้ปัญหาที่หรูหรา
Apache Struts เป็นเฟรมเวิร์กเว็บที่ทันสมัยได้รับการดูแลและเต็มรูปแบบ เนื่องจากมีมานานหลายปีและเติบโตขึ้นเป็นฐานผู้ใช้ขนาดใหญ่มันไม่น่าเป็นไปได้ที่จะหายไปเร็ว ๆ นี้ ไม่เพียงแค่นั้นเรามีผู้ใช้และนักพัฒนาในโครงการโดยเฉพาะ Apache Struts ได้รับอนุญาตภายใต้ Apache License 2.0 และสิ่งนี้จะไม่เปลี่ยนแปลง เรารักษา IP ที่สะอาดและคุณ“ ปลอดภัย” ในการใช้โครงการ บางครั้งคุณไม่“ ปลอดภัย” ในการใช้โครงการเมื่อ บริษัท ควบคุม SCM การเข้าถึงซอร์สโค้ดไม่ได้หมายความว่าฟรี ด้วย apache struts คุณไม่เพียง แต่มีอิสระที่จะ“ ทำสิ่งที่คุณต้องการด้วย” คุณสามารถมีส่วนร่วม (ซึ่งไม่ใช่กรณีเสมอไป) และที่ดีที่สุดของทั้งหมด: คุณสามารถเป็นส่วนหนึ่งของทีมหลักได้เช่นกัน
มันมักจะง่ายมากที่จะรวมเทคโนโลยีอื่น ๆ เข้ากับ apache struts หากคุณใช้ ORM เช่น Apache Cayenne, Hibernate หรือ JDBC คุณจะไม่มีข้อ จำกัด ใด ๆ Apache Struts ไม่ได้ผูกติดกับเทคโนโลยีส่วนหน้ามากเกินไป ในสมัยก่อนมันคือ JSP จากนั้นความเร็วและนักแสดง ทุกวันนี้คุณอาจสร้างเว็บแอปพลิเคชันของคุณด้วย HTML แบบคงที่และ AngularJS หรือคุณอาจต้องการใช้ไซต์หรือกระเบื้อง ทั้งหมดนี้ไม่มีปัญหาเนื่องจากกลไกการขยายที่สง่างามและใช้งานง่าย
ซึ่งแตกต่างจากเฟรมเวิร์กที่มุ่งเน้นองค์ประกอบอื่น ๆ เราไม่ได้ตั้งเป้าหมายที่จะซ่อนลักษณะที่ไร้สัญชาติของเว็บ เราคิดว่าเป็นที่ยอมรับได้อย่างสมบูรณ์แบบที่จะสร้างตามวัฏจักรคำขอ/การตอบกลับ นอกจากนี้เรายังคิดว่ารูปแบบ MVC นั้นไม่ได้เลวร้ายนักเพียงเพราะมันเก่า ในความเป็นจริงเราเชื่อว่าสถาปัตยกรรม apache struts นั้นสะอาดและเข้าใจง่าย
แน่นอนถ้าคุณต้องการสร้างส่วนประกอบทางฝั่งเซิร์ฟเวอร์ที่แสดงผลที่ด้านหน้าส่วนหน้าคุณมักจะไม่ต้องการ struts นี่เป็นวิธีการที่แตกต่างกันซึ่งสัญญาว่าจะลดปริมาณความรู้ HTML/JavaScript ที่จำเป็นและเพื่อสร้างส่วนประกอบที่สามารถนำกลับมาใช้ใหม่ได้สำหรับเลเยอร์มุมมอง โครงการเช่น Wicket และ Tapestry ให้บริการจุดประสงค์นี้เป็นอย่างดี เช่นเดียวกับทุกเฟรมเวิร์กคุณต้องตัดสินใจว่ามันสมเหตุสมผลสำหรับคุณที่จะสร้างส่วนประกอบหรือถ้าคุณต้องการวิธีการ struts
ชุมชน Apache Struts ไม่ได้ให้การสนับสนุนเชิงพาณิชย์ด้วยตัวเอง
ผู้ดูแลระบบ apache บางคนกำลังทำงานร่วมกับ TideLift เพื่อให้การสนับสนุนเชิงพาณิชย์และลงทุนเวลาทำงานที่ได้รับค่าจ้างในการปรับปรุงกรอบ Apache Struts สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชมทรัพยากร tideLift เกี่ยวกับ apache struts