Támaszok vs tavaszi MVC
A Struts-keretrendszer a Java EE webes alkalmazások fejlesztésének egyik kezdeti webalkalmazási kerete. A Spring egy nyílt forráskódú alkalmazáskeret. Nem sokkal a tavaszi keret bevezetése után a fejlesztők hozzáadtak egy MVC keretet a tavaszi kerethez, remélve, hogy megoldják azokat a korlátozásokat, amelyeket a Struts-ban érzékeltek. Néhány évvel később megérkezett a Struts2 (vagy a Struts 2-es verzió), amely teljesen más volt, és nagymértékben továbbfejlesztett webalkalmazási keretrendszer. Most a Struts-ot és a Spring MVC-t nagyon erősen használják a Java EE alkalmazások fejlesztésére a világon.
Mi az a Struts??
A Struts (más néven Apache Struts) egy Java-nyelven írt, platformokon átívelő, nyílt forráskódú keret, amelyet Java EE webes alkalmazások fejlesztésére szántak. A támaszok ösztönzik az MVC (Model-View-Controller) architektúra használatát. Ez a Java Servlet API kiterjesztése. Craig McClanahan a Struts eredeti alkotója. Kezdetben Jakaratha Struts néven ismerték, és az Apache Software Foundation Jakarta Projektje alatt tartották fenn. Jelenlegi stabil kiadása a 2.2.3 verzió, amelyet 2011 májusában adtak ki. Az Apache License 2.0 alatt kerül kiadásra. A Struts keretrendszert kérési alapú keretnek nevezik, és három fő összetevőből áll: kéréskezelő, válaszkezelő és címkekönyvtár. A szabványos URI-t (egységes erőforrás-azonosító) leképezik egy kéréskezelőhöz. A válaszkezelő felel az irányítás átadásáért. Az űrlapokkal interaktív alkalmazások létrehozásához a címkekönyvtár által kínált szolgáltatások felhasználhatók. A támaszok támogatják a REST alkalmazásokat és a különböző technológiákat, mint például a SOAP, AJAX stb.
Mi a tavaszi MVC??
A Spring egy nyílt forráskódú alkalmazáskeret. Rod Johnson fejlesztette ki, és az első verziót 2004-ben adták ki. A 3.0.5 verzió a tavaszi keret jelenlegi verziója. Az Apache 2.0 licenc alatt van engedélyezve. Bármely Java alkalmazás felhasználhatja a tavaszi keret alapvető jellemzőit. A tavaszi keretrendszerben több modul található, ezek közül az MVC is. A tavaszi MVC keret nem volt része eredeti tervüknek. Valójában az az oka, hogy a tavaszi fejlesztők saját MVC keretrendszerükkel álltak elő, az volt, hogy megoldásokat kínáltak arra, amit hiányosságoknak mutattak a Struts (1. verzió) és más hasonló keretekben. Különösen azt mondták, hogy szeretnék foglalkozni a bemutató réteg, a kérelemkezelési réteg és a modell közötti szétválasztás hiányával. A Spring MVC egyben kérés-alapú webes alkalmazási keret is.
Mi a különbség a Struts és a Spring MVC között??
Bár a tavaszi MVC és a Struts két népszerű webes alkalmazási keret, amelyet a Java EE webes alkalmazások fejlesztésére használnak, vannak különbségeik. Valójában a Spring MVC-t úgy fejlesztették ki, hogy a Struts (1-es verzió) kevés korlátozására hivatkozzon. De a Struts2 nagyon fejlett keretrendszer, mint az 1. verzió (még nem ugyanazt a kódot tartalmazzák), ezért a Spring MVC és a Structs2 nagyon összehasonlítható.
A Spring MVC egyik fő előnye, hogy zökkenőmentesen integrálható számos nézetbeállítási lehetőséggel, például JSP / JSTL, Csempe, FreeMaker, Excel, PDF és JSON. A Struts-szal ellentétben azonban a Spring MVC nem nyújt beépített AJAX támogatást (harmadik féltől származó AJAX könyvtárat kell használni).
Végül mindkettőt nagyon érett keretrendszernek tekintik, és a kettő közötti választás a személyes preferencia eredménye. Fontos itt megjegyezni, hogy ha negatív érzelmek vannak a támasztékkal szemben, akkor ezek csak a Struts 1. verziójában (amelyet elavulttá váltak) talált hiányosságok miatt következnek be..