Struts vs Spring MVC
Struts-raamwerk is een van die aanvanklike webtoepassingsraamwerke vir die ontwikkeling van Java EE-webtoepassings. Lente is 'n oopbrontoepassingsraamwerk. 'n Ruk na die bekendstelling van Spring-raamwerk het die ontwikkelaars 'n MVC-raamwerk by die Spring-raamwerk gevoeg, in die hoop om sommige van die beperkings wat hulle in Struts waargeneem het, aan te spreek. Maar 'n paar jaar later het Struts2 (of Struts weergawe 2) aangekom, en dit was heeltemal anders en hoogs verbeterde webtoepassingsraamwerk. Nou word beide Struts en Spring MVC baie swaar gebruik vir die ontwikkeling van Java EE-toepassings in die wêreld.
Wat is Struts?
Struts (ook bekend as Apache Struts) is 'n kruisplatform oopbronraamwerk geskryf in Java, wat bedoel is vir die ontwikkeling van Java EE-webtoepassings. Stutte moedig die gebruik van MVC (Model-View-Controller)-argitektuur aan. Dit is 'n uitbreiding van Java Servlet API. Craig McClanahan is die oorspronklike skepper van Struts. Aanvanklik was dit bekend as Jakaratha Struts, en is onderhou onder Jakarta Project van Apache Software Foundation. Die huidige stabiele vrystelling daarvan is weergawe 2.2.3, wat in Mei 2011 vrygestel is. Dit word vrygestel onder Apache-lisensie 2.0. Struts-raamwerk word 'n versoekgebaseerde raamwerk genoem, en dit bestaan uit drie hoofkomponente: 'n versoekhanteerder, 'n reaksiehanteerder en 'n merkerbiblioteek. Standaard-URI (Uniform Resource Identifier) word na 'n versoekhanteerder gekarteer. Reaksiehanteerder is verantwoordelik vir die oordrag van beheer. Om interaktiewe toepassings met vorms te skep, kan die kenmerke wat deur die merkerbiblioteek aangebied word, gebruik word. Stutte ondersteun REST-toepassings en verskeie tegnologieë soos SOAP, AJAX, ens.
Wat is Lente MVC?
Lente is 'n oopbrontoepassingsraamwerk. Dit is ontwikkel deur Rod Johnson,, en die eerste weergawe is in 2004 vrygestel. Spring 3.0.5 is die huidige weergawe van die Spring-raamwerk. Dit is gelisensieer onder Apache 2.0 lisensie. Enige Java-toepassing kan die kernkenmerke van die Spring-raamwerk gebruik. Daar is verskeie modules in Lente-raamwerk, en MVC is een daarvan. Die Spring MVC-raamwerk was nie deel van hul oorspronklike plan nie. Trouens, die rede waarom Spring-ontwikkelaars met hul eie MVC-raamwerk vorendag gekom het, was om oplossings te verskaf vir wat hulle as tekortkominge in die Struts (weergawe 1) en ander soortgelyke raamwerke getoon het. Hulle het veral gesê dat hulle die gebrek aan skeiding tussen die aanbiedingslaag, versoekhanteringslaag en die model wil aanspreek. Spring MVC is ook 'n versoek-gebaseerde webtoepassingsraamwerk.
Wat is die verskil tussen Struts en Spring MVC?
Hoewel Spring MVC en Struts twee gewilde webtoepassingsraamwerke is wat gebruik word vir die ontwikkeling van Java EE-webtoepassings, het hulle hul verskille. Trouens, Spring MVC is ontwikkel om min beperkings in Struts (weergawe 1) aan te spreek. Maar Struts2 is 'n hoogs verbeterde raamwerk as weergawe 1 (hulle deel nie eens dieselfde kodebasis nie), en daarom is die Spring MVC en Structs2 hoogs vergelykbaar.
Een van die belangrikste voordele van Spring MVC is dat dit moontlik is om naatlose integrasie te hê met baie aansigopsies soos JSP/JSTL, Tiles, FreeMaker, Excel, PDF en JSON. Maar, anders as Struts, bied Spring MVC nie ingeboude AJAX-ondersteuning nie (moet derdeparty AJAX-biblioteek gebruik).
Uiteindelik word albei van hulle as hoogs volwasse raamwerke beskou, en die keuse tussen die twee kom neer op die persoonlike voorkeur. Dit is belangrik om hier te let dat indien daar enige negatiewe gevoelens jeens stutte is, dit slegs te wyte is aan die tekortkominge wat gevind is in Struts weergawe 1 (wat nou as uitgedien beskou word).