Razlika između podupirača i podupirača2

Razlika između podupirača i podupirača2
Razlika između podupirača i podupirača2

Video: Razlika između podupirača i podupirača2

Video: Razlika između podupirača i podupirača2
Video: Šta je to RAM memorija i čemu služi? 2024, Prosinac
Anonim

Struts vs Struts2

Struts (također poznat kao Apache Struts ili Struts 1) je međuplatformski okvir otvorenog koda napisan u Javi, koji je namijenjen razvoju Java EE web aplikacija. Bio je to jedan od početnih okvira Java EE web aplikacija. Ali nekoliko godina kasnije, stigao je Struts2 (ili Struts verzija 2), i to je bio potpuno drugačiji i vrlo poboljšan okvir za web aplikacije. U njemu je riješeno nekoliko problema koji su u početnoj verziji smatrani nedostacima. Sada se Struts2 jako intenzivno koristi za razvoj Java EE aplikacija u svijetu.

Što je Struts?

Struts (Struts 1) okvir bio je jedan od početnih okvira web aplikacija za razvoj Java EE web aplikacija. Struts framework potiče korištenje MVC (Model-View-Controller) arhitekture. To je proširenje Java Servlet API-ja. Craig McClanahan je izvorni kreator Strutsa. U početku je bio poznat kao Jakaratha Struts i održavan je u sklopu Jakarta projekta Apache Software Foundationa. Izdat je pod licencom Apache 2.0. Struts okvir se naziva okvir temeljen na zahtjevima, a sastoji se od tri glavne komponente: rukovatelj zahtjevima, rukovatelj odgovorom i biblioteka oznaka. Standardni URI (Uniform Resource Identifier) preslikan je u rukovatelja zahtjevima. Rukovatelj odgovorom odgovoran je za prijenos kontrole. Za izradu interaktivnih aplikacija s obrascima mogu se koristiti značajke koje nudi biblioteka oznaka. Struts podržava REST aplikacije i razne tehnologije kao što su SOAP, AJAX, itd.

Što je Struts2?

Java EE programeri su u to vrijeme smatrali da okvir Struts sadrži određena ograničenja (uglavnom nedostatak razdvajanja između prezentacijskog sloja, sloja za rukovanje zahtjevima i modela), te je nekoliko godina kasnije stigao Struts2. Zapravo, Struts2 je bio potpuno drugačiji od Strutsa. Zapravo, čak nisu ni dijelili istu bazu koda jer je Struts2 jednostavno bio rezultat preimenovanja okvira WebWork 2.2 (tj. WebWork i Struts zajednice koje su neko vrijeme radile odvojeno na kraju su se udružile kako bi osmislile Struts2). Njegovo trenutno stabilno izdanje je verzija 2.2.3, koja je objavljena u svibnju 2011.

Koja je razlika između Strutsa i Struts2?

Jedan od mnogih problema Struts okvira bila je potreba za programiranjem apstrahiranih klasa umjesto sučelja. To je riješio Struts2 okvir. Na primjer, Struts okvir zahtijevao je da se Action klase prošire iz apstraktnih osnovnih klasa, ali Struts2 Actions može implementirati Action sučelje. Zbog razlika u modelu niti između dviju verzija, problemi sa sigurnošću niti koji su se pojavili u okviru Struts u vezi s objektima akcije ne pojavljuju se u okviru Struts2. Razlog je što se Struts2 Action objekti instanciraju za svaki zahtjev, dok Action u Struts okviru ima samo jednu instancu za obradu svih zahtjeva za tu Akciju. Za razliku od radnji u Struts okviru, Struts2 radnje ne ovise o Servlet API-ju.

Mobilnost testiranja okvira Struts2 relativno je veća od okvira Struts. Struts2 radnje možete jednostavno testirati slijedeći tri koraka: instanciranje, postavljanje svojstava i pozivanje metoda. Prikupljanje unosa lakše je u okviru Struts2 jer se svojstva akcije koriste kao svojstva unosa, bez potrebe za zadržavanjem drugog objekta unosa. Osim podrške za JSTL integraciju (koja je prisutna u Strutsu), Struts2 framework može koristiti snažniji i izražajniji OGNL (Object Graph Notation Language). Za konverziju tipa, Strut i Strut2 koriste Commons-Beanutils odnosno OGNL. Zbog ovih poboljšanja, Struts2 okvir se smatra vrlo zrelim okvirom i vrlo je popularan među Java EE programerima. S druge strane, Struts okvir se sada smatra zastarjelim.

Preporučeni: