Struts vs Spring MVC
Struts framework je eden od začetnih okvirov spletnih aplikacij za razvoj spletnih aplikacij Java EE. Spring je odprtokodni aplikacijski okvir. Nekaj časa po uvedbi Spring framework-a so razvijalci Spring-om dodali ogrodje MVC v upanju, da bodo odpravili nekatere omejitve, ki so jih zaznali v Struts. Toda nekaj let kasneje je prišel Struts2 (ali različica Struts 2), ki je bil povsem drugačen in zelo izboljšan okvir spletne aplikacije. Zdaj se Struts in Spring MVC zelo močno uporabljata za razvoj aplikacij Java EE v svetu.
Kaj je Struts?
Struts (znan tudi kot Apache Struts) je medplatformno odprtokodno ogrodje, napisano v Javi, namenjeno razvoju spletnih aplikacij Java EE. Podporniki spodbujajo uporabo arhitekture MVC (Model-View-Controller). Je razširitev API-ja Java Servlet. Craig McClanahan je prvotni ustvarjalec Struts. Sprva je bil znan kot Jakaratha Struts in je bil vzdrževan v okviru projekta Jakarta, ki ga je izvedla fundacija Apache Software Foundation. Njegova trenutna stabilna izdaja je različica 2.2.3, ki je bila izdana maja 2011. Izdana je pod licenco Apache 2.0. Struts framework se imenuje ogrodje, ki temelji na zahtevah in je sestavljeno iz treh glavnih komponent: obdelovalca zahtev, obdelovalca odzivov in knjižnice oznak. Standardni URI (enotni identifikator vira) se preslika v obdelavo zahtev. Odzivnik je odgovoren za prenos nadzora. Za ustvarjanje interaktivnih aplikacij z obrazci je mogoče uporabiti funkcije, ki jih ponuja knjižnica oznak. Podporniki podpirajo programe REST in različne tehnologije, kot so SOAP, AJAX itd.
Kaj je Spring MVC?
Spring je odprtokodni aplikacijski okvir. Razvil ga je Rod Johnson, prva različica pa je bila izdana leta 2004. Spring 3.0.5 je trenutna različica Spring framework. Licenciran je pod licenco Apache 2.0. Vsaka aplikacija Java lahko uporablja osnovne značilnosti Spring okolja. V pomladnem okolju je več modulov, MVC pa je eden izmed njih. Spomladanski okvir MVC ni bil del njihovega prvotnega načrta. Pravzaprav je bil razlog, da so razvijalci Spring pripravili svoj lastni okvir MVC, da so ponudili rešitve za to, kar so pokazali kot pomanjkljivosti v Struts (različica 1) in drugih podobnih okvirih. Rekli so zlasti, da želijo odpraviti pomanjkanje ločitve med predstavitveno plastjo, plastjo za obdelavo zahtev in modelom. Spring MVC je tudi ogrodje spletnih aplikacij, ki temelji na zahtevah.
Kakšna je razlika med Struts in Spring MVC?
Čeprav sta Spring MVC in Struts dva priljubljena ogrodja spletnih aplikacij, ki se uporabljata za razvoj spletnih aplikacij Java EE, imata svoje razlike. Pravzaprav je bil Spring MVC razvit, da bi odpravil nekaj omejitev v Struts (različica 1). Toda Struts2 je zelo izboljšan okvir kot različica 1 (niti ne delijo iste osnove kode), zato sta Spring MVC in Structs2 zelo primerljiva.
Ena glavnih prednosti Spring MVC je ta, da je možno brezhibno povezovanje s številnimi možnostmi pogleda, kot so JSP / JSTL, Tiles, FreeMaker, Excel, PDF in JSON. Toda za razliko od Struts Spring MVC ne nudi vgrajene podpore za AJAX (uporabiti je treba knjižnico drugih proizvajalcev AJAX).
Konec koncev oba veljata za zelo zrela okvira, izbira med njima pa je odvisna od osebnih želja. Tu je pomembno opozoriti, da če do opornikov obstajajo kakršni koli negativni občutki, so to le posledica pomanjkljivosti, ki so bile ugotovljene v različici Struts 1 (ki zdaj velja za zastarelo).