Struts vs Spring MVC
Rámec Struts je jedním z počátečních rámců webových aplikací pro vývoj webových aplikací Java EE. Jaro je open source aplikační framework. Nějaký čas po zavedení jarního rámce vývojáři přidali do jarního rámce rámec MVC v naději, že budou řešit některá omezení, která vnímají ve Struts. Ale o několik let později dorazila Struts2 (nebo Struts verze 2) a byl to úplně jiný a vysoce vylepšený rámec webových aplikací. Nyní jsou Struts i Spring MVC velmi využívány pro vývoj aplikací Java EE ve světě.
Co je to Struts?
Struts (také známý jako Apache Struts) je multiplatformní open source framework napsaný v jazyce Java, který je určen pro vývoj webových aplikací Java EE. Struts doporučuje použití architektury MVC (Model-View-Controller). Jedná se o rozšíření Java Servlet API. Craig McClanahan je původním tvůrcem Struts. Zpočátku to bylo známé jako Jakaratha Struts a bylo udržováno v rámci Jakartského projektu Apache Software Foundation. Jeho aktuální stabilní vydání je verze 2.2.3, která byla vydána v květnu 2011. Je vydána pod licencí Apache License 2.0. Rámec Struts se nazývá framework založený na požadavcích a skládá se ze tří hlavních komponent: obslužné rutiny požadavků, obslužné rutiny odpovědí a knihovny značek. Standardní identifikátor URI (Uniform Resource Identifier) je namapován na obslužnou rutinu požadavku. Obsluha odpovědi je odpovědná za předání kontroly. K vytváření interaktivních aplikací s formuláři lze využít funkce nabízené knihovnou značek. Struts podporuje aplikace REST a různé technologie jako SOAP, AJAX atd.
Co je Spring MVC?
Jaro je open source aplikační framework. Byl vyvinut Rodem Johnsonem a první verze byla vydána v roce 2004. Jaro 3.0.5 je aktuální verzí jarního rámce. Je licencován pod licencí Apache 2.0. Jakákoli aplikace Java může využívat základní funkce jarního rámce. V rámci Spring existuje několik modulů a MVC je jedním z nich. Rámec Spring MVC nebyl součástí jejich původního plánu. Důvodem, proč vývojáři Springu přišli s vlastním rámcem MVC, bylo ve skutečnosti poskytnout řešení toho, co se ukázalo jako nedostatky ve Struts (verze 1) a dalších podobných rámcích. Zejména uvedli, že chtějí řešit nedostatek oddělení mezi prezentační vrstvou, vrstvou pro zpracování požadavků a modelem. Spring MVC je také rámec webových aplikací založený na požadavcích.
Jaký je rozdíl mezi Struts a Spring MVC?
Ačkoli Spring MVC a Struts jsou dva populární rámce webových aplikací používané pro vývoj webových aplikací Java EE, mají své rozdíly. Ve skutečnosti byl Spring MVC vyvinut za účelem řešení několika omezení ve Struts (verze 1). Ale Struts2 je vysoce vylepšený framework než verze 1 (nesdílejí ani stejnou základnu kódu), a proto jsou Spring MVC a Structs2 vysoce srovnatelné.
Jednou z hlavních výhod Spring MVC je, že je možné mít bezproblémovou integraci s mnoha možnostmi zobrazení, jako jsou JSP / JSTL, Tiles, FreeMaker, Excel, PDF a JSON. Ale na rozdíl od Struts, Spring MVC neposkytuje integrovanou podporu AJAX (je třeba použít knihovnu AJAX jiného výrobce).
Nakonec jsou oba považovány za vysoce vyspělé rámce a výběr mezi těmito dvěma závisí na osobních preferencích. Zde je důležité si uvědomit, že pokud existují nějaké negativní pocity vůči vzpěrám, jsou to jen kvůli nedostatkům, které byly nalezeny ve Struts verzi 1 (která je nyní považována za zastaralou).