Erinevus vedrude ja kevadise MVC vahel

Tugid vs kevadine MVC

Struts-raamistik on üks algseid veebirakenduste raamistikke Java EE veebirakenduste arendamiseks. Kevad on avatud lähtekoodiga rakenduste raamistik. Mõni aeg pärast kevadise raamistiku kasutuselevõttu lisasid arendajad kevadisele raamistikule MVC-raamistiku, lootes lahendada mõned piirangud, mida nad Strutsis tajusid. Kuid paar aastat hiljem jõudis kohale Struts2 (või Strutsi versioon 2) ja see oli täiesti erinev ja täiustatud veebirakenduse raamistik. Nüüd kasutatakse nii Strutsit kui ka Spring MVC-d väga tugevalt Java EE-rakenduste arendamiseks maailmas.

Mis on tugipostid?

Struts (tuntud ka kui Apache Struts) on Java-s kirjutatud platvormideülene avatud lähtekoodiga raamistik, mis on mõeldud Java EE veebirakenduste arendamiseks. Toed soodustavad MVC (Model-View-Controller) arhitektuuri kasutamist. See on Java Servlet API laiendus. Strutsi algne looja on Craig McClanahan. Algselt oli see tuntud kui Jakaratha Struts ja seda hooldati Apache Tarkvara Sihtasutuse Jakarta projekti raames. Selle praegune stabiilne väljalase on versioon 2.2.3, mis ilmus 2011. aasta mais. See antakse välja Apache License 2.0 all. Tugipostide raamistikku nimetatakse päringupõhiseks raamistikuks, mis koosneb kolmest põhikomponendist: päringute töötleja, vastuste töötleja ja sildikogu. Standardne URI (ühtne ressursi identifikaator) kaardistatakse päringute töötlejale. Kontrolli edastamise eest vastutab reageerija. Vormidega interaktiivsete rakenduste loomiseks saab kasutada silditeegi pakutavaid funktsioone. Toed toetavad REST-rakendusi ja mitmesuguseid tehnoloogiaid nagu SOAP, AJAX jne.

Mis on kevadine 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 kevadise raamistiku praegune versioon. See on litsentsitud Apache 2.0 litsentsi alusel. Kevadraamistiku põhifunktsioone saab kasutada iga Java-rakendus. Kevadises raamistikus on mitu moodulit ja MVC on üks neist. Kevadine MVC raamistik ei kuulunud nende algsesse kavasse. Tegelikult oli kevade arendajate jaoks välja töötatud oma MVC raamistik, pakkudes tegelikult lahendusi sellele, mida nad näitasid puudustena Strutsis (versioon 1) ja muudes sarnastes raamistikes. Eelkõige ütlesid nad, et tahavad käsitleda esitluskihi, päringute käsitlemise kihi ja mudeli eraldamise puudumist. Kevadine MVC on ka päringupõhine veebirakenduste raamistik.

Mis vahe on Strutsil ja Spring MVC-l??

Ehkki Spring MVC ja Struts on kaks populaarset veebirakenduste raamistikku, mida kasutatakse Java EE veebirakenduste arendamisel, on neil oma erinevused. Tegelikult töötati kevadine MVC välja selleks, et käsitleda Strutsis (versioon 1) väheseid piiranguid. Kuid Struts2 on väga täiustatud raamistik kui versioon 1 (neil pole isegi sama koodialust) ja seetõttu on Spring MVC ja Structs2 väga võrreldavad.

Kevadise MVC üks peamisi eeliseid on see, et on võimalik sujuvat integreerimist paljude vaatevõimalustega nagu JSP / JSTL, Plaadid, FreeMaker, Excel, PDF ja JSON. Kuid erinevalt Strutsist ei paku Spring MVC sisseehitatud AJAX-i tuge (tuleb kasutada kolmanda osapoole AJAX-i teeki).

Lõppkokkuvõttes peetakse mõlemat väga küpseks raamistikuks ja nende vahel valimine langeb isikliku eelistuse alla. Oluline on siinkohal märkida, et kui tugipostide suhtes on negatiivseid tundeid, on need tingitud ainult puudustest, mis leiti Strutsi versioonis 1 (mida nüüd peetakse aegunuks).