Struts vs Spring MVC
Struts Framework este unul dintre cadrul inițial de aplicații web pentru dezvoltarea aplicațiilor web Java EE. Spring este un cadru de aplicații open source. La ceva timp după introducerea cadrului de primăvară, dezvoltatorii au adăugat un cadru MVC la cadru de primăvară, în speranța că vor aborda unele dintre limitările pe care le-au perceput în Struts. Dar câțiva ani mai târziu, a sosit Struts2 (sau versiunea Struts 2) și a fost complet diferit și foarte îmbunătățit cadru de aplicații web. Acum, atât Struts, cât și Spring MVC sunt utilizate foarte mult pentru dezvoltarea aplicațiilor Java EE în lume.
Ce este Struts?
Struts (cunoscut și sub numele de Apache Struts) este un cadru open-source multiplataforma scris în Java, care este destinat dezvoltării aplicațiilor web Java EE. Struturile încurajează utilizarea arhitecturii MVC (Model-View-Controller). Este o extensie a Java Servlet API. Craig McClanahan este creatorul original al Struts. Inițial a fost cunoscut sub numele de Jakaratha Struts și a fost menținut în cadrul Proiectului Jakarta al Apache Software Foundation. Versiunea sa actuală stabilă este versiunea 2.2.3, care a fost lansată în mai 2011. Este lansată sub licența Apache 2.0. Cadrul Struts este numit un cadru bazat pe cerere și este alcătuit din trei componente principale: un gestionar de cereri, un gestionar de răspuns și o bibliotecă de etichete. URI-ul standard (Uniform Resource Identifier) este mapat la un handler de solicitare. Manipulatorul de răspuns este responsabil pentru transferul controlului. Pentru a crea aplicații interactive cu formulare, pot fi utilizate funcțiile oferite de biblioteca de etichete. Struturile acceptă aplicații REST și diverse tehnologii precum SOAP, AJAX etc.
Ce este Spring MVC?
Spring este un cadru de aplicații open source. A fost dezvoltat de Rod Johnson, iar prima versiune a fost lansată în 2004. Spring 3.0.5 este versiunea actuală a cadrului Spring. Este licențiat sub licența Apache 2.0. Orice aplicație Java poate utiliza caracteristicile de bază ale cadrului Spring. Există mai multe module în cadrul Spring, iar MVC este unul dintre ele. Cadrul Spring MVC nu a făcut parte din planul lor original. De fapt, motivul pentru care dezvoltatorii Spring au venit cu propriul cadru MVC a fost să ofere soluții la ceea ce au arătat ca deficiențe în Struts (versiunea 1) și alte cadre similare. În special, au spus că doresc să soluționeze lipsa de separare între stratul de prezentare, stratul de gestionare a cererilor și modelul. Spring MVC este, de asemenea, un cadru de aplicații web bazat pe cereri.
Care este diferența dintre Struts și Spring MVC?
Deși Spring MVC și Struts sunt două cadre de aplicații web populare utilizate pentru dezvoltarea aplicațiilor web Java EE, ele au diferențele lor. De fapt, Spring MVC a fost dezvoltat pentru a aborda câteva limitări în Struts (versiunea 1). Dar Struts2 este un cadru foarte îmbunătățit decât versiunea 1 (nici măcar nu au aceeași bază de cod) și, prin urmare, Spring MVC și Structs2 sunt foarte comparabile.
Unul dintre principalele avantaje ale Spring MVC este că este posibil să aveți o integrare perfectă cu multe opțiuni de vizualizare, cum ar fi JSP / JSTL, Tiles, FreeMaker, Excel, PDF și JSON. Dar, spre deosebire de Struts, Spring MVC nu oferă suport AJAX încorporat (trebuie să utilizați o bibliotecă AJAX terță parte).
În cele din urmă, ambele sunt considerate cadre extrem de mature, iar alegerea dintre cele două se reduce la preferința personală. Este important de menționat aici că, dacă există sentimente negative față de struts, acestea se datorează doar deficiențelor care au fost găsite în versiunea 1 Struts (care este acum considerată învechită).