Vodič za Struts 2 - rješenje za sve za početnike



Ovaj članak o Struts 2 Vodiču pomoći će vam u početku rada sa Struts 2 okvirom za razvoj J2EE web aplikacija zajedno s demonstracijom koda.

Ako tražite koji vam mogu pomoći u brzom i učinkovitom razvoju JEE web aplikacija, tada je Struts 2 savršeno rješenje za vas. Struts 2 je okvir otvorenog koda koji se intenzivno koristi na tržištu. Kroz ovaj tutorial Struts 2, pomoći ću vam da započnete s njim, zajedno s praktičnim implementacijama.

Ispod su teme o kojima ću raspravljati u ovom vodiču za Struts:





Što je Struts?

Laički rečeno, Struts je baziran na otvorenom izvornom okviru koji pomaže u razvoju web aplikacija u J2EE. Toproširuje i promovira Model, View, Controller ( MVC ) arhitektura.To čini web aplikacije razvijene u standardnim tehnologijama poputJSP, JavaBeans i XML, održiviji, proširiviji i fleksibilniji.

Okvir Struts prvotno je razvio Craig McClanahan i predao ga je Zakladi Apache u svibnju 2000. Postupno zauzima položaj vršnog Apache projekta 2005. godine, a kasnije u veljači 2007. zamijenjen je Podupirači 2 .



Okvir Struts opsežno se temeljio na MVC-u (Model-View-Controller) paradigma dizajna. Njegov glavni cilj bio je odvojiti model od pogleda i kontrolera u aplikaciji kako bi se smanjila ovisnost i promoviralo razdvajanje briga (SoC). Drugim riječima, pomogao je u razdvajanju aplikacijske logike koja uglavnom komunicira s bazom podatakaod putem kojih korisnik komunicira s aplikacijom i instancom koja pomaže u usmjeravanju informacija između modela i prikaza.

Značajke nosača 2

  1. POJO Temelji oblici i radnje :Klase radnji u Strutovima tretiraju se kao kontrolor u aplikaciji. Odgovorni su za odgovor na radnju korisnika, izvršavanje poslovne logike i vraćanje rezultata s prikazom koji treba prikazati. Djeluje i kao klasa modela.
  2. Poboljšane oznake i prilagodba: U Struts 2 uvedene su razne vrste oznaka poput UI oznaka, kontrolnih oznaka, Data oznaka itd. Koje pomažu u razvoju aplikacija.
  3. AJAX funkcionalnost: Struts 2 podržava ajax tehnologiju koja se obično koristi za generiranje asinkronog zahtjeva. To poboljšava performanse aplikacije slanjem samo potrebnih podataka polja na poslužitelj.
  4. Jednostavna integracija: Omogućuje jednostavnu integraciju s drugim web okvirima kao što su , DWR, SiteMesh i pločice.
  5. Minimalne konfiguracije: Dok koristite aplikaciju Struts 2, nisu potrebne dodatne konfiguracije. Radi s minimalnim konfiguracijama gdje većina postavki uzima zadane vrijednosti, osim ako nema odstupanja.
  6. Integrirajte tehnologije pregleda: Uz Struts2 možete se lako integrirati s raznim tehnologijama prikaza kao što su XSLT, JSP, Freemarker, brzina itd.
  7. Tema i predlošci: Struts 2 pruža podršku za 3 vrste tema:
    1. Xhtml
    2. Jednostavan
    3. Css_xhtml

Ovdje je XHTML zadana tema za Struts 2 i uglavnom se koristi za uobičajeni izgled i dojam.

Sad kad znate što su Struts i njegove razne značajke, idemo dalje s ovim člankom Vodiča za Struts i naučimo o njegovoj arhitekturi.



Arhitektura

Arhitektura Struts - Vodič za Struts 2 - EdurekaKao što možete vidjeti na gornjem dijagramu, Struts koristi visoku razinu MVC arhitektura . Ovdje se filtar servleta otpreme Struts2 koristi za implementaciju kontrolera, dok se akcije koriste za implementaciju modela, a pogled se provodi kombiniranjem vrsta rezultata i rezultata. U ovoj arhitekturi zajedničku nit, povezivanje i integraciju s drugim komponentama omogućuju skup vrijednosti i OGNL. Povrh svega, konfiguracije za web aplikacije zajedno s radnjama, presretačima, rezultatima itd. Također pomažu u kanaliziranju puno informacija.

Sada ću vam objasniti kompletan tijek rada tijekom životnog ciklusa zahtjeva koji je generirao korisnik. Ispod sam naveo korak po korak tijek rada radi vašeg boljeg razumijevanja načina rada Struts:

  • Počinje s korisničkim zahtjevom koji se šalje poslužitelju radi zahtjeva za nekim resursom.
  • Potom ovaj zahtjev obrađuje filtar za određivanje odgovarajuće radnje.
  • Nadalje, na zahtjev se primjenjuju ispravno konfigurirane funkcije presretača kao što su provjera valjanosti, prijenos datoteka itd.
  • Jednom kada se odabrana radnja odluči i izvrši na temelju tražene operacije.
  • U slučaju da se pozove bilo koja naknadna obrada, konfigurirani presretači.
  • Na kraju, rezultat pruža prikaz i vraća se korisniku.

Nadam se da ćete time očistiti tijek rada u aplikaciji Struts. Pogledajmo sada sve što vam treba u vašem sustavu za početak rada Struts-a u sljedećem odjeljku ovog vodiča za Struts 2

Postavljanje okruženja

U nastavku sam naveo osnovne potrebe za početak rada Struts 2:

  • Java
    U slučaju da na vašem sustavu nije instalirana Java, možete se obratiti Instalacija Java članak.
  • Mačak
    Ako nemate Tomcat u svom sustavu, možete posjetiti ovdje za besplatno preuzimanje.
  • IDE (po mogućnosti Eclipse)
    Konačno, trebate svoj Eclipse IDE za razvoj aplikacija.

Kad završite, spremni ste za smočenje nogu Strutsom. U sljedećem odjeljku ovog vodiča za Struts 2 dat ću vam kratki opis temeljnih koncepata Struts 2.

Temeljni pojmovi

1. Konfiguracije

U bilo kojoj aplikaciji struts postoje dvije glavne konfiguracijske datoteke:

  1. datoteka struts.xml: Ova datoteka sadrži informacije u vezi skonfiguracije koje su izmijenjene kao akcije. Uglavnom se koristi za nadjačavanje zadanih postavki u aplikaciji. Ova se datoteka obično stvara u direktoriju WEB-INF / klasa u bilo kojem projektu Struts.
  2. datoteka struts.properties: Ova datoteka pruža mehanizam koji može promijeniti ponašanje okvira. Budući da je aframework koristi brojna svojstva koja možete promijeniti bilo koje od njih prema vašim zahtjevima.

2. Akcije

Akcije ili klase radnji osnovni su koncepti bilo koje aplikacije Struts 2, jer djeluju kao kontroler u MVC uzorku. Drugim riječima, klase Action sadrže poslovnu logiku koja pomaže u obradi podataka. Osim ovoga, za to je odgovorna i klasa akcijeodgovaranje na zahtjev korisnika, izvršavanje poslovne logike. Također pomaže okviru u određivanju i vraćanju rezultata na temelju konfiguracijske datoteke (struts.xml), natrag korisniku za prikazivanje stranice Prikaz.

Stuts2 klase radnji nisu pojedinačne prirode, tj. Jedan primjer ove klase bit će stvoren sa svakim zahtjevom. Stoga ne moraju biti zaštićeni niti, jednostavni su i neovisni. To znatno olakšava testiranje ovih klasa.

Datoteka akcije može se stvoriti na tri načina, a to su:

  • Jednostavna klasa akcije
    Bilo koja konkretna java klasa može se koristiti kao Struts 2 klasa akcije, ali jedini uvjet je da klasa mora sadržavati metodu execute () s vrstom String return. Ispod je kôd za stvaranje jednostavne klase akcije:
paket com.edureka.struts2.action javna klasa DemoAction {public String execute () {return 'Dobrodošli!' }}
  • Provedba sučelja Action
    Klasa Struts 2 Action također se može stvoriti implementacijom sučelja com.opensymphony.xwork2.Action. Sadrži jednu metodu, tj. Execute () koju mora implementirati klasa implementacije. Implementacijom ovog sučelja možete koristiti nekoliko konstanti kao što su USPJEH, POGREŠKA, NEMA, ULAZ i PRIJAVA koje se mogu koristiti za stranice s rezultatima.
    Ispod koda prikazuje primjer za isto:
paket com.edureka.struts2.action import com.opensymphony.xwork2.Action javna klasa DemoAction implementira Action {public String execute () {return SUCCESS}}
  • Proširivanje klase ActionSupport

Klase akcije u Struts 2 općenito proširuju klasu Action Action koja je zadana implementacija sučelja Action. Pruža razne imperativne funkcionalnosti za razvoj web aplikacija kao što su provjera valjanosti podataka, poruka na razini akcije, poruka o pogrešci na razini akcije, poruka o pogrešci na razini polja i paketni resursi za čitanje itd.

Ispod je implementacija istog:

paket com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport javna klasa DemoAction proširuje ActionSupport {@Override public String execute () baca izuzetak {return SUCCESS}}

3. Presretači

Presretač djeluje kao jedan od glavnih stupova okvira Struts 2. To nije ništa drugo do objektkoji se poziva tijekom predobrade i naknadne obrade zahtjeva.Pomaže u kontroli i održavanju neometanog prijelaza ciklusa zahtjeva i odgovora.

Glavna prednost upotrebe presretača je u tome što se mogu priključiti. Ono što mislim je, u slučaju da više nemate koristi od određene zabrinutosti poputprovjeru valjanosti, rukovanje iznimkama, evidentiranje itd., možete ga jednostavno ukloniti iz aplikacije bez potrebe za ponovnim rasporedom. Za to sve što trebate jest izbrisati unos iz datoteke struts.xml.

Okvir Struts2 pruža sveobuhvatan skup unaprijed definiranih presretača i uobičajenih snopova presretača koje sam naveo u donjoj tablici:

Presretač Opis
alias To omogućuje parametrima da imaju različite pseudonime imena u korisničkim zahtjevima
potvrdni okvir To pomaže u upravljanju potvrdnim okvirima dodavanjem vrijednosti parametra false za potvrdne okvire nije označena
conversionError Ovo smješta informacije o pogrešci iz pretvaranja nizova u vrste parametara unutar pogrešaka polja radnje
createSession To implicitno stvara HTTP sesiju u slučaju da ona ne postoji
otklanjanje pogrešaka To programeru nudi razne zaslone za uklanjanje pogrešaka
execAndWait Ovo korisnika prebacuje na stranicu posredničkog čekanja kada se radnja izvršava u pozadini
iznimka Ovo preslikava iznimke koje su izbačene iz akcije ka rezultatu
fileUpload To olakšava prijenos datoteka u Struts 2
i18n To pomaže u praćenju navedenog jezika tijekom korisničke sesije
trupci To omogućuje jednostavno prijavljivanje korisnika generiranjem rezultata kao naziva radnje koja se izvršava
parametarima To pomaže u postavljanju parametara zahtjeva na radnju
pripremiti To se koristi za obavljanje poslova predobrade
profil To omogućuje jednostavne informacije o profiliranju za radnje dnevnika.
opseg Ovo pohranjuje i dohvaća stanje radnje tijekom korisničke sesije ili opsega aplikacije
ServletConfig Ovo pruža dozvolu radnji za pristup raznim informacijama zasnovanim na servletima
mjerač vremena Ovo pruža jednostavne informacije o profiliranju
znak Ovo pomaže u provjeri radnje za valjani token kako bi se spriječilo duplicirano slanje obrazaca
validacija Ovo pruža podršku za provjeru valjanosti različitih radnji

4. Vrijednosni niz

ValueStacku Struts2 je skladišno područje u kojem su pohranjeni cjelokupni podaci aplikacije za obradu zahtjeva. Ovi se podaci čuvaju uActionContextobjekata koji koristiThreadLocalza dohvaćanje vrijednosti specifičnih za bilo koju određenu nit zahtjeva klijenta.

5. OGNL

OGNL je skraćenica od Object-Graph Navigation Language. Moćan je izrazni jezik sličan JSP-u i uglavnom se koristi zareferenca i manipulacija podacima prisutnim u ValueStacku. Štoviše, također pomaže u prijenosu i pretvaranju vrste podataka.

Slično JSP-u, OGNL sadrži korijenski objekt unutar konteksta aplikacije. Dakle, referencu zadanog objekta možete pružiti pomoću oznake koja se u ovom slučaju označava simbolom funte. Okvir Struts 2 implementira OGNL gradeći ActionContext mapu. Ispod sam nabrojao komponente mape ActionContext:

  • Primjena
  • Sjednica
  • Niz vrijednosti
  • Zahtjev
  • Parametri
  • Atributi

Ovim ste prošli kroz osnove Struts-a 2. U sljedećem odjeljku ovog članka Struts-a 2 možete izravno uskočiti u kod i implementirati sve što ste do sada naučili.

preopterećenje funkcije u primjeru c ++

Demonstracija vodiča za Struts 2

Ovdje ću stvoriti jednostavnu aplikaciju u koju trebate unijeti svoje ime i aplikacija će vas dočekati. Ispod je snimak zaslona kompletne strukture projekta:

Kao što vidite, u ovom ćemo projektu stvoriti 5 datoteka koje su:

  1. HelloWorld.java
  2. index.jsp
  3. dobrodošli.jsp
  4. web.xml
  5. struts.xml

Napomena: Prije početka ovog projekta provjerite jeste li već instalirali Tomcat na svom sustavu.

KORAK I: U svom Eclipseu idite na File> New> Dynamic Web Project. Unesite naziv projekta i kliknite Novo vrijeme izvođenja.

KORAK II: Ovdje morate odabrati verziju Apache Tomcat koju ste preuzeli na svoj sustav i kliknite Dalje.

KORAK III: Zatim kliknite Pregledaj i dođite do direktorija u kojem su spremljene Tomcat ovisnosti. Nakon završetka kliknite na Finish i nastavite s izradom projekta.

KORAK IV: Dodajmo sada Struts jar datoteke koje će biti potrebne za uspješno izvršavanje ovog projekta. JAR-ove možete preuzeti s ovdje . Kad ste spremni s JAR datotekama, kopirajte JAR-ove i zalijepite ih pod WebContent> WEB-INF> lib.

KORAK V: Sad kad smo spremni sa svim konfiguracijama, možemo postaviti datoteke s kodovima, počevši od HelloWorld.java. Za to kliknite desnom tipkom miša na projekt> Novo> Razred. Ispunite naziv paketa i klase i kliknite na završetak.

STEP VI: Upišite donji kod u HelloWorld.java datoteka.

paket com.edureka javna klasa HelloWorld {privatni naziv niza javni niz getName () {return ime} javna praznina setName (ime niza) {this.name = name} javni niz izvršenje () {return 'uspjeh'}}

KORAK VII: Dalje izradite novi index.jsp datoteku pod WebContent i upišite donji kod:

 

KORAK VIII: Sada opet stvorite novi dobrodošli.jsp datoteku pod WebContent i upišite donji kod:

Dobrodošli:

KORAK IX: Sada idite na WebContent> WEB-INF i unesite donji kod u web.xml datoteka.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

KORAK X: Konačno, u Java Resources> src kreirajte struts.xml datoteka

dobrodošli.jsp

KORAK XI: Sada idite na index.jsp stranicu i kliknite je desnom tipkom miša. Odaberite Pokreni na poslužitelju da biste izvršili aplikaciju.

Ovo nas dovodi do kraja ovog članka o Struts 2 Vodiču. Ako želite znati više o Javi, možete se obratiti našoj .

Sad kad ste shvatili što je tutorial Struts 2, pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog članka 'Vodič za Struts 2', a mi ćemo vam se javiti što je prije moguće.