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 2?
- Podmetači 2 Značajke
- Arhitektura nosača 2
- Postavljanje okruženja
- Temeljni pojmovi
- Demonstracija vodiča za Struts 2
Š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
- 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.
- 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.
- 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.
- Jednostavna integracija: Omogućuje jednostavnu integraciju s drugim web okvirima kao što su , DWR, SiteMesh i pločice.
- 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.
- Integrirajte tehnologije pregleda: Uz Struts2 možete se lako integrirati s raznim tehnologijama prikaza kao što su XSLT, JSP, Freemarker, brzina itd.
- Tema i predlošci: Struts 2 pruža podršku za 3 vrste tema:
- Xhtml
- Jednostavan
- 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
Kao š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:
- 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.
- 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:
- HelloWorld.java
- index.jsp
- dobrodošli.jsp
- web.xml
- 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.