Struts vs kevad MVC
Struts raamistik on üks esialgseid veebirakenduste raamistikke Java EE veebirakenduste arendamiseks. Kevad on avatud lähtekoodiga rakenduste raamistik. Mõni aeg pärast kevade raamistiku kasutuselevõttu lisasid arendajad kevade raamistikule MVC raamistiku, lootes käsitleda mõningaid Strutsis tajutud piiranguid. Kuid paar aastat hiljem saabus Struts2 (või Strutsi versioon 2) ja see oli täiesti erinev ja täiustatud veebirakenduste raamistik. Nüüd kasutatakse nii Strutsi kui ka Spring MVC-d väga palju Java EE-rakenduste arendamiseks maailmas.
Mis on tugipostid?
Struts (tuntud ka kui Apache Struts) on Java-s kirjutatud platvormidevaheline avatud lähtekoodiga raamistik, mis on mõeldud Java EE veebirakenduste arendamiseks. Struts soodustavad MVC (Model-View-Controller) arhitektuuri kasutamist. See on Java Servleti API laiendus. Strutside alglooja on Craig McClanahan. Esialgu oli see tuntud kui Jakaratha Struts ja seda hoiti Apache Software Foundationi Jakarta projekti all. Selle praegune stabiilne versioon on versioon 2.2.3, mis ilmus mais 2011. See ilmub Apache License 2.0 all. Struts-raamistikku nimetatakse päringupõhiseks raamistikuks ja see koosneb kolmest põhikomponendist: päringute käitleja, vastuste käitleja ja siltide kogu. Standardne URI (ühtne ressursitunnus) vastendatakse päringute käitlejale. Reageerimise käitleja vastutab kontrolli üleandmise eest. Vormidega interaktiivsete rakenduste loomiseks saab kasutada märgenditeegi funktsioone. Struts toetavad REST-i rakendusi ja mitmesuguseid tehnoloogiaid, nagu SOAP, AJAX jne.
Mis on kevade MVC?
Kevad on avatud lähtekoodiga rakenduste raamistik. Selle töötas välja Rod Johnson,, ja esimene versioon ilmus 2004. aastal. Kevad 3.0.5 on kevade raamistiku praegune versioon. Sellel on litsents Apache 2.0 litsentsi alusel. Spring-raamistiku põhifunktsioone saab kasutada mis tahes Java-rakendus. Spring raamistikus on mitu moodulit ja MVC on üks neist. Kevadine MVC raamistik ei kuulunud nende esialgsesse plaani. Tegelikult oli kevade arendajate enda MVC-raamistiku väljatöötamise põhjus pakkuda lahendusi Struts'i (versioon 1) ja muude sarnaste raamistike puudujääkidena. Eelkõige ütlesid nad, et soovivad käsitleda esitluskihi, päringute käitlemise kihi ja mudeli lahususe puudumist. Spring MVC on ka päringupõhine veebirakenduste raamistik.
Mis vahe on Strutsil ja Spring MVC-l?
Kuigi Spring MVC ja Struts on kaks populaarset veebirakenduste raamistikku, mida kasutatakse Java EE veebirakenduste arendamiseks, on neil oma erinevused. Tegelikult töötati Spring MVC välja selleks, et käsitleda väheseid piiranguid Strutsis (versioon 1). Kuid Struts2 on kõrgelt täiustatud raamistik kui versioon 1 (neil pole isegi sama koodibaasi) ja seetõttu on Spring MVC ja Structs2 väga võrreldavad.
Spring MVC üks peamisi eeliseid on see, et on võimalik sujuvalt integreerida paljude vaatevõimalustega nagu JSP / JSTL, Tiles, FreeMaker, Excel, PDF ja JSON. Kuid erinevalt Strutsist ei paku Spring MVC sisseehitatud AJAX-tuge (vaja on kasutada kolmanda osapoole AJAX-i teeki).
Lõppkokkuvõttes peetakse mõlemat väga küpseks raamistikuks ning nende kahe vahel valimine taandub isiklikele eelistustele. Siinkohal on oluline märkida, et kui tugipostide suhtes on negatiivseid tundeid, on need tingitud ainult puudustest, mis leiti Strutsi versioonist 1 (mida praegu peetakse vananenuks).