ความแตกต่างระหว่าง Struts และ Spring MVC

ความแตกต่างระหว่าง Struts และ Spring MVC
ความแตกต่างระหว่าง Struts และ Spring MVC

วีดีโอ: ความแตกต่างระหว่าง Struts และ Spring MVC

วีดีโอ: ความแตกต่างระหว่าง Struts และ Spring MVC
วีดีโอ: จะเกิดอะไรขึ้น? หากใส่ปุ๋ยฟอสฟอรัสมากเกินไป มาฟังเฉลยกัน 2024, กรกฎาคม
Anonim

Struts vs Spring MVC

เฟรมเวิร์ก Struts เป็นหนึ่งในเฟรมเวิร์กเว็บแอปพลิเคชันเริ่มต้นสำหรับการพัฒนาเว็บแอปพลิเคชัน Java EE Spring เป็นเฟรมเวิร์กแอปพลิเคชันโอเพ่นซอร์ส ไม่นานหลังจากการแนะนำเฟรมเวิร์ก Spring นักพัฒนาได้เพิ่มเฟรมเวิร์ก MVC ให้กับเฟรมเวิร์ก Spring โดยหวังว่าจะแก้ไขข้อจำกัดบางอย่างที่พวกเขารับรู้ใน Struts แต่ไม่กี่ปีต่อมา Struts2 (หรือ Struts เวอร์ชัน 2) ก็มาถึง และมันก็แตกต่างอย่างสิ้นเชิงกับเฟรมเวิร์กของเว็บแอปพลิเคชันที่ได้รับการปรับปรุงอย่างมาก ตอนนี้ทั้ง Struts และ Spring MVC ถูกใช้อย่างหนักมากสำหรับการพัฒนาแอปพลิเคชัน Java EE ในโลก

Struts คืออะไร

Struts (หรือเรียกอีกอย่างว่า Apache Struts) เป็นเฟรมเวิร์กโอเพ่นซอร์สข้ามแพลตฟอร์มที่เขียนด้วยภาษา Java ซึ่งมีไว้สำหรับการพัฒนาเว็บแอปพลิเคชัน Java EE Struts สนับสนุนการใช้สถาปัตยกรรม MVC (Model-View-Controller) เป็นส่วนขยายของ Java Servlet API Craig McClanahan เป็นผู้สร้างดั้งเดิมของ Struts เดิมชื่อ Jakaratha Struts และได้รับการดูแลภายใต้โครงการ Jakarta Project ของ Apache Software Foundation รุ่นเสถียรในปัจจุบันคือเวอร์ชัน 2.2.3 ซึ่งเผยแพร่ในเดือนพฤษภาคม 2011 ซึ่งเผยแพร่ภายใต้ Apache License 2.0 เฟรมเวิร์ก Struts เรียกว่าเฟรมเวิร์กตามคำขอ และประกอบด้วยสามองค์ประกอบหลัก: ตัวจัดการคำขอ ตัวจัดการการตอบกลับ และไลบรารีแท็ก URI มาตรฐาน (Uniform Resource Identifier) ถูกแมปกับตัวจัดการคำขอ ตัวจัดการการตอบสนองมีหน้าที่ในการถ่ายโอนการควบคุม ในการสร้างแอปพลิเคชันแบบโต้ตอบด้วยแบบฟอร์ม คุณสามารถใช้คุณลักษณะที่มีให้โดยไลบรารีแท็กได้ Struts รองรับแอปพลิเคชัน REST และเทคโนโลยีต่างๆ เช่น SOAP, AJAX เป็นต้น

Spring MVC คืออะไร

Spring เป็นเฟรมเวิร์กแอปพลิเคชันโอเพ่นซอร์ส ได้รับการพัฒนาโดย Rod Johnson และรุ่นแรกเปิดตัวในปี 2547 Spring 3.0.5 เป็นเวอร์ชันปัจจุบันของกรอบงาน Spring ได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 แอปพลิเคชัน Java ใดๆ สามารถใช้คุณสมบัติหลักของกรอบงาน Spring ได้ มีหลายโมดูลในกรอบงาน Spring และ MVC เป็นหนึ่งในนั้น กรอบงาน Spring MVC ไม่ได้เป็นส่วนหนึ่งของแผนเดิม อันที่จริง เหตุผลที่นักพัฒนา Spring คิดค้นเฟรมเวิร์ก MVC ของตนเองขึ้นมาก็เพื่อจัดหาวิธีแก้ปัญหาสำหรับสิ่งที่พวกเขาพบว่ามีข้อบกพร่องใน Struts (เวอร์ชัน 1) และเฟรมเวิร์กอื่นๆ ที่คล้ายคลึงกัน โดยเฉพาะอย่างยิ่ง พวกเขากล่าวว่าพวกเขาต้องการจัดการกับการขาดการแยกระหว่างเลเยอร์การนำเสนอ เลเยอร์การจัดการคำขอ และโมเดล Spring MVC ยังเป็นเฟรมเวิร์กแอปพลิเคชันบนเว็บตามคำร้องขอ

ความแตกต่างระหว่าง Struts และ Spring MVC คืออะไร

แม้ว่า Spring MVC และ Struts จะเป็นเฟรมเวิร์กเว็บแอปพลิเคชันยอดนิยมสองเฟรมเวิร์กที่ใช้ในการพัฒนาเว็บแอปพลิเคชัน Java EE แต่ก็มีความแตกต่างกันอันที่จริงแล้ว Spring MVC ได้รับการพัฒนาเพื่อจัดการกับข้อจำกัดบางประการใน Struts (เวอร์ชัน 1) แต่ Struts2 เป็นเฟรมเวิร์กที่ได้รับการปรับปรุงให้ดีขึ้นกว่าเวอร์ชัน 1 (พวกเขาไม่ได้ใช้ฐานโค้ดเดียวกันด้วยซ้ำ) ดังนั้น Spring MVC และ Structs2 จึงสามารถเปรียบเทียบกันได้สูง

ข้อดีอย่างหนึ่งของ Spring MVC คือสามารถผสานรวมกับตัวเลือกมุมมองต่างๆ ได้อย่างราบรื่น เช่น JSP/JSTL, Tiles, FreeMaker, Excel, PDF และ JSON แต่ต่างจาก Struts ตรงที่ Spring MVC ไม่รองรับ AJAX ในตัว (ต้องใช้ไลบรารี AJAX ของบริษัทอื่น)

สุดท้ายแล้ว ทั้งคู่ถือเป็นเฟรมเวิร์กที่มีวุฒิภาวะสูง และการเลือกระหว่างทั้งสองขึ้นอยู่กับความชอบส่วนบุคคล สิ่งสำคัญที่ควรทราบในที่นี้คือ หากมีความรู้สึกเชิงลบต่อสตรัท สิ่งเหล่านี้เกิดจากข้อบกพร่องที่พบใน Struts เวอร์ชัน 1 (ซึ่งขณะนี้ถือว่าล้าสมัย)

แนะนำ: