Erinevus Tugipostide Ja Tugipostide Vahel

Erinevus Tugipostide Ja Tugipostide Vahel
Erinevus Tugipostide Ja Tugipostide Vahel

Video: Erinevus Tugipostide Ja Tugipostide Vahel

Video: Erinevus Tugipostide Ja Tugipostide Vahel
Video: Lööktrellide erinevus 2024, November
Anonim

Struts vs Struts2

Struts (tuntud ka kui Apache Struts või Struts 1) on Java-s kirjutatud platvormidevaheline avatud lähtekoodiga raamistik, mis on mõeldud Java EE veebirakenduste arendamiseks. See oli üks algsetest Java EE veebirakenduste raamistikest. Kuid paar aastat hiljem saabus Struts2 (või Strutsi versioon 2) ja see oli täiesti erinev ja täiustatud veebirakenduste raamistik. Selles oli käsitletud väheseid probleeme, mida esialgses versioonis peeti puudusteks. Nüüd kasutatakse Struts2 maailmas Java EE rakenduste arendamiseks väga palju.

Mis on tugipostid?

Struts (Struts 1) raamistik oli üks esialgseid veebirakenduste raamistikke Java EE veebirakenduste arendamiseks. Struts raamistik julgustab kasutama MVC (Model-View-Controller) arhitektuuri. 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. See on välja antud 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 Struts2?

Struts raamistik peeti Java EE arendajate poolt sel ajal teatud piiranguteks (peamiselt esitluskihi, päringute käitlemise kihi ja mudeli vahelise eraldatuse puudumine) ja seetõttu jõudis Struts2 paar aastat hiljem kohale. Tegelikult erines Struts2 täiesti Strutsist. Tegelikult ei jaganud nad isegi sama koodibaasi, sest Struts2 oli lihtsalt WebWork 2.2 raamistiku ümbernimetamise tulemus (st mõnda aega eraldi töötanud WebWork ja Struts kogukonnad ühendasid lõpuks käed Struts2 väljamõtlemiseks). Selle praegune stabiilne versioon on versioon 2.2.3, mis ilmus 2011. aasta mais.

Mis vahe on tugipostidel ja tugipostidel2?

Strutsi raamistiku üks paljudest probleemidest oli vajadus liideste asemel klasside abstraktseks programmeerimiseks. Selle lahendas Struts2 raamistik. Näiteks Struts raamistik eeldas, et abstraktsetest baasklassidest laiendatakse tegevusklasse, kuid Struts2 toimingutega saab rakendada liidese Action. Struts2 raamistikus Strutsi raamistikus esile kerkinud niiditurvalisuse probleemide kahe versiooni lõimimudeli erinevuste tõttu ei esine. Põhjuseks on Struts2 toiminguobjektid iga päringu jaoks, samas kui raamistikus Action in Struts on selle toimingu kõigi taotluste käsitlemiseks ainult üks eksemplar. Erinevalt raamistikust Actions in Struts, ei sõltu Struts2 Actions Servleti API-st.

Struts2 raamistiku testitavus on suhteliselt kõrgem kui Struts raamistik. Struts2 toiminguid saate testida, järgides lihtsalt kolme sammu: kohestamine, omaduste määramine ja meetodite kutsumine. Sisendi koristamine on Struts2 raamistikus lihtsam, kuna sisendi omadustena kasutatakse toimingu omadusi, ilma et peaks teist sisendobjekti alles jätma. Lisaks JSTL-i integreerimise toele (mis on olemas Strutsis) saab Struts2 raamistikus kasutada võimsamat ja väljendusrikkamat OGNL-i (Object Graph Notation Language). Tüübi teisendamiseks kasutavad Strut ja Strut2 vastavalt Commons-Beanutils ja OGNL. Nende täiustuste tõttu peetakse Struts2 raamistikku väga küpseks raamistikuks ja see on Java EE programmeerijate seas väga populaarne. Teisalt peetakse Strutsi raamistikku nüüd vananenuks.

Soovitatav: