Struts vs Spring MVC
Okvir Struts jedan je od početnih okvira web aplikacija za razvoj web aplikacija Java EE. Proljeće je okvir za primjenu otvorenog koda. Neko vrijeme nakon uvođenja Spring okvira, programeri su dodali MVC okvir proljetnom okviru, nadajući se riješiti neka ograničenja koja su uočili u Strutsu. No nekoliko godina kasnije stigao je Struts2 (ili Struts verzija 2) i to je potpuno drugačiji i vrlo poboljšan okvir web aplikacija. Sada se i Struts i Spring MVC koriste u svijetu za razvoj Java EE aplikacija u svijetu.
Što je Struts?
Struts (također poznat kao Apache Struts) je cross-platformski open source okvir napisan na Javi, a namijenjen je razvoju Java EE web aplikacija. Podupirači potiču upotrebu MVC (Model-View-Controller) arhitekture. To je proširenje Java Servlet API-ja. Craig McClanahan izvorni je autor Struts-a. U početku je bio poznat pod nazivom Jakaratha Struts, a održavan je u okviru Jakarta Project of Apache Software Foundation. Trenutačno stabilno izdanje je verzija 2.2.3, a objavljeno je u svibnju 2011. Izlazi pod Apache License 2.0. Okvir Struts naziva se okvir temeljen na zahtjevu, a sastoji se od tri glavne komponente: alata za obradu zahtjeva, alata za odgovor i biblioteke oznaka. Standardni URI (jedinstveni identifikator resursa) mapiran je u obrađivač zahtjeva. Voditelj odgovora odgovoran je za prijenos kontrole. Za stvaranje interaktivnih aplikacija s obrascima mogu se koristiti značajke koje nudi knjižnica oznaka. Podupirači podržavaju REST aplikacije i razne tehnologije poput SOAP-a, AJAX itd.
Što je proljetni MVC?
Proljeće je okvir za primjenu otvorenog koda. Razvio ga je Rod Johnson ,, a prva verzija objavljena je 2004. Spring. 3.0.5 je trenutna verzija Spring Spring okvira. Dozvoljeno je pod licencom Apache 2.0. Bilo koja Java aplikacija može koristiti osnovne značajke proljetnog okvira. U proljetnom okviru postoji nekoliko modula, a MVC je jedan od njih. Okvir proljeća MVC nije bio dio njihovog izvornog plana. Zapravo, razlog što su Proljetni programeri smislili vlastiti MVC okvir je pružiti rješenja za ono što su pokazali kao nedostatke u Strutsu (verzija 1) i drugim sličnim okvirima. Posebno su rekli da se žele riješiti nedostatka razdvajanja između prezentacijskog sloja, sloja za obradu zahtjeva i modela. Proljetni MVC je i okvir web aplikacija temeljen na zahtjevima.
Koja je razlika između Struts i Spring MVC?
Iako su Spring MVC i Struts dva popularna okvira web aplikacija koji se koriste za razvoj Java EE web aplikacija, one imaju svoje razlike. Zapravo, Spring MVC razvijen je kako bi se riješio nekoliko ograničenja u Struts (verzija 1). No Struts2 je visoko poboljšani okvir od verzije 1 (oni čak ne dijele istu bazu kodova), pa su zato Spring MVC i Structs2 vrlo usporedivi.
Jedna od glavnih prednosti Spring MVC-a je ta što je moguće imati besprijekornu integraciju s mnogim opcijama pregleda kao što su JSP / JSTL, Tiles, FreeMaker, Excel, PDF i JSON. No, za razliku od Strutsa, Spring MVC ne pruža ugrađenu AJAX podršku (potrebno je koristiti AJAX biblioteku treće strane).
Konačno, obojica se smatraju visoko zrelim okvirima, a odabir između njih dvojice svodi se na osobne preferencije. Ovdje je važno napomenuti da ako postoje negativni osjećaji prema potporima, oni nastaju samo zbog nedostataka koji su pronađeni u Struts verziji 1 (koja se sada smatra zastarjelom).