Struts 2 Tutorial - One Stop Solution for Beginners



Denne artikkelen om Struts 2 Tutorial vil hjelpe deg med å komme i gang med Struts 2 framework for utvikling av J2EE webapplikasjoner sammen med kodedemonstrasjon.

Hvis du leter etter en som kan hjelpe deg med å utvikle JEE-webapplikasjoner raskt og effektivt, så er Struts 2 den perfekte løsningen for deg. Struts 2 er et open source-rammeverk som er mye brukt i markedet. Gjennom denne Struts 2-veiledningen vil jeg hjelpe deg med å komme i gang med den sammen med praktiske implementeringer.

Nedenfor er emnene jeg skal diskutere i denne veiledningen for Struts:





Hva er Struts?

I lekmannstilstand er Struts en -basert rammeverk med åpen kildekode som hjelper til med å utvikle webapplikasjon i J2EE. Denutvider og markedsfører Model, View, Controller ( MVC ) arkitektur.Dette gjør webapplikasjonene utviklet i standardteknologier somJSP, JavaBeans og XML, mer vedlikeholdbare, utvidbare og fleksible.

Struts Framework ble opprinnelig utviklet av Craig McClanahan og ble overlevert til Apache Foundation i mai 2000. Gradvis inntar den posisjonen til et topp-Apache-prosjekt i 2005 og senere i februar 2007 ble det erstattet av Stivere 2 .



Struts Framework var omfattende basert på MVC (Model-View-Controller) designparadigme. Hovedmålet var å skille modellen fra View og Controller i applikasjonen for å redusere avhengighet og fremme separasjon av bekymringer (SoC). Med andre ord hjalp det med å skille applikasjonslogikken som hovedsakelig kommuniserer med databasenfra gjennom hvilken brukeren samhandler med applikasjonen og forekomsten som hjelper til med å kanalisere informasjon mellom modell og visning.

Funksjoner av Struts 2

  1. POJO-baserte skjemaer og handlinger :Handlingsklasser i Struts behandles som kontrolleren i applikasjonen. De er ansvarlige for å svare på en brukerhandling, utføre forretningslogikk og returnere et resultat med den visningen som må gjengis. Det fungerer også som modellklasse.
  2. Forbedrede koder og tilpasning: Ulike typer koder har blitt introdusert i Struts 2 som UI-koder, kontrollkoder, datakoder osv. Som hjelper til med applikasjonsutvikling.
  3. AJAX-funksjonalitet: Struts 2 støtter ajax-teknologi som vanligvis brukes til å generere en asynkron forespørsel. Det gjør forbedrer ytelsen til applikasjonen ved å sende bare de nødvendige feltdataene til serveren.
  4. Enkel integrering: Det gir enkel integrasjon med andre nettrammer som , DWR, SiteMesh og Tiles.
  5. Minimale konfigurasjoner: Mens du bruker Struts 2-applikasjonen, er det ingen overheadkonfigurasjoner nødvendig. Det fungerer med minimale konfigurasjoner der de fleste innstillingene tar standardverdiene med mindre det er noe avvik.
  6. Integrer View Technologies: Med Struts2 kan du enkelt integrere med forskjellige visningsteknologier som XSLT, JSP, Freemarker, hastighet, etc.
  7. Tema og maler: Struts 2 gir støtte til 3 typer temaer:
    1. Xhtml
    2. Enkel
    3. Css_xhtml

Her er XHTML standardtema for Struts 2 og brukes hovedsakelig for vanlig utseende.

Nå som du vet hva som er Struts og dets forskjellige funksjoner, kan vi gå videre med denne Struts Tutorial-artikkelen og lære om arkitekturen.



Arkitektur

Struts Architecture - Struts 2 Tutorial - EdurekaSom du kan se i diagrammet ovenfor, bruker Struts høyt nivå MVC-arkitektur . Her brukes Struts2-sendeservletfilteret til å implementere kontrolleren mens handlinger brukes til å implementere modellen, og visningen implementeres ved å kombinere resultattyper og resultater. I denne arkitekturen er den røde tråden, koblingen og integrasjonen med andre komponenter aktivert av verdistakken og OGNL. På toppen av dette hjelper konfigurasjoner for webapplikasjoner sammen med handlinger, interceptors, resultater osv. Også til å kanalisere mye informasjon.

La meg nå forklare den fullstendige arbeidsflyten i løpet av livssyklusen til en forespørsel generert av brukeren. Nedenfor har jeg listet opp trinnvis arbeidsflyt for bedre forståelse av hvordan Struts fungerer:

  • Det begynner med brukerforespørselen som sendes til serveren for å be om en ressurs.
  • Denne forespørselen blir deretter behandlet av Filter Dispatcher for å bestemme riktig handling.
  • Videre blir riktig konfigurerte interceptorfunksjonaliteter brukt på forespørselen, for eksempel validering, filopplasting, etc.
  • Når den valgte handlingen er bestemt og den utført basert på den forespurte operasjonen.
  • I tilfelle påkrevd etterbehandling er konfigurerte avlyttere påkalt.
  • Til slutt leveres resultatet av visningen og returneres til brukeren.

Jeg håper dette fjerner arbeidsflyten i en Struts-applikasjon. La oss nå se hva alt du trenger i systemet ditt for å komme i gang med Struts i neste del av denne Struts 2-veiledningen

Miljøoppsett

Nedenfor har jeg listet opp de grunnleggende nødvendighetene for å komme i gang med Struts 2:

  • Java
    Hvis du ikke har Java installert på systemet ditt, kan du referere til Java-installasjon artikkel.
  • Tomcat
    Hvis du ikke har Tomcat i systemet ditt, kan du besøke det her for gratis nedlasting.
  • IDE (helst formørkelse)
    Til slutt trenger du din Formørkelse IDE for applikasjonsutvikling.

Når du er ferdig, er du klar til å få føttene våte med Struts. I neste del av denne Struts 2-opplæringen vil jeg gi deg en kort beskrivelse av de grunnleggende konseptene til Struts 2.

Grunnleggende konsepter

1. Konfigurasjoner

I noen, struts-applikasjon, er det to hovedkonfigurasjonsfiler:

  1. struts.xml-fil: Denne filen inneholder informasjon omkonfigurasjon som endres som handlinger. Den brukes hovedsakelig for å overstyre standardinnstillingene i et program. Denne filen er vanligvis opprettet i WEB-INF / class-katalogen i ethvert Struts-prosjekt.
  2. struts.properties-fil: Denne filen gir en mekanisme som kan endre oppførselen til rammeverket. Siden aframework bruker et antall egenskaper, du kan endre noen av dem i henhold til dine krav.

2. Handlinger

Handlinger eller handlingsklasser er kjernekonseptene i alle Struts 2-applikasjoner, da de fungerer som kontrolleren i MVC-mønsteret. Handlingsklasser inneholder med andre ord forretningslogikken som hjelper til med å behandle dataene. Annet enn dette er actionklasse også ansvarlig forsvare på en brukerforespørsel, utføre forretningslogikk. Det hjelper også rammeverket for å bestemme og returnere et resultat på grunnlag av konfigurasjonsfilen (struts.xml), tilbake til brukeren for gjengivelse av Vis-siden.

Stuts2-handlingsklasser er ikke singleton, det vil si at en forekomst av denne klassen blir opprettet for hver forespørsel. Dermed trenger de ikke å være trådsikre og er enkle og uavhengige. Dette gjør testing av disse klassene mye enklere.

En handlingsfil kan opprettes på tre måter, som er som følger:

  • Enkel actionklasse
    En hvilken som helst konkret java-klasse kan brukes som en Struts 2-handlingsklasse, men det eneste kravet er at klassen må inneholde en execute () -metode med String return-typen. Nedenfor er koden for å lage en enkel handlingsklasse:
pakke com.edureka.struts2.action offentlig klasse DemoAction {public String execute () {return 'Velkommen!' }}
  • Implementering av handlingsgrensesnitt
    En Struts 2 Action-klasse kan også opprettes ved å implementere com.opensymphony.xwork2.Action-grensesnittet. Den inneholder en enkelt metode, dvs. execute (), som må implementeres av implementeringsklassen. Ved å implementere dette grensesnittet kan du benytte deg av flere konstanter som SUCCESS, FEIL, INGEN, INNGANG og LOGG PÅ som kan brukes til resultatsidene.
    Nedenfor viser koden et eksempel på det samme:
pakke com.edureka.struts2.action import com.opensymphony.xwork2.Action offentlig klasse DemoAction implementerer handling {public Streng utfør () {return SUCCESS}}
  • Utvide ActionSupport-klassen

Handlingsklasser i Struts 2 utvider generelt Action Support-klassen, som er standard implementering av Action-grensesnitt. Det gir forskjellige viktige funksjoner for utvikling av webapplikasjoner, som datavalidering, handlingsnivåmelding, feilnivå på handlingsnivå, feilmelding på feltnivå og lese ressurser samlet, etc.

Nedenfor er implementeringen av det samme:

pakke com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction utvider ActionSupport {@Override public Streng utfør () kaster Unntak {return SUCCESS}}

3. Avskjærere

Interceptor fungerer som en av hovedpilarene i Struts 2-rammeverket. Det er ingenting annet enn et objektsom påkalles under forbehandling og etterbehandling av en forespørsel.Det hjelper med å kontrollere og opprettholde en jevn overgang av forespørsels- og responssyklus.

Den største fordelen med å bruke avlytter er at den er pluggbar. Det jeg mener er, i tilfelle du ikke lenger har bruk for en bestemt bekymring somvalidering, unntakshåndtering, logging osv., kan du enkelt fjerne det fra applikasjonen uten å måtte distribuere det på nytt. For dette er alt du trenger å gjøre å slette oppføringen fra filen struts.xml.

Struts2-rammeverket gir et omfattende sett med forhåndsdefinerte interceptorer og vanlige interceptor-stabler som jeg har oppført i tabellen nedenfor:

Interceptor Beskrivelse
alias Dette gjør at parameterne kan ha forskjellige navnealiaser på tvers av brukerforespørsler
avkrysningsruten Dette hjelper deg med å administrere avmerkingsboksene ved å legge til en parameterverdi på falsk for avmerkingsboksene ikke er merket
conversionError Dette plasserer feilinformasjonen fra å konvertere strenger til parametertyper innenfor handlingens feltfeil
createSession Dette oppretter implisitt en HTTP-økt i tilfelle en ikke eksisterer
feilsøking Dette gir forskjellige feilsøkingsskjermbilder til utvikleren
execAndWait Dette overfører brukeren til en mellomliggende venteside når handlingen utføres i bakgrunnen
unntak Dette kartlegger unntakene som kastes fra handling mot et resultat
filopplasting Dette gjør det enkelt å laste opp filer i Struts 2
i18n Dette hjelper med å holde oversikt over den angitte lokaliteten under en brukers økt
tømmerstokker Dette gir enkel logging til brukeren ved å generere utdata som navnet på handlingen som utføres
params Dette hjelper til med å sette forespørselsparametrene for handlingen
forberede Dette brukes til å utføre forhåndsbehandlingsarbeid
profil Dette muliggjør enkel profilinformasjon for logghandlinger.
omfang Dette lagrer og henter statusen til handlingen under brukersesjonen eller applikasjonsomfanget
ServletConfig Dette gir tillatelse til å få tilgang til diverse servlet-basert informasjon
timer Dette gir enkel profileringsinformasjon
token Dette hjelper til med å sjekke handlingen for et gyldig token for å forhindre dupliserte skjemainnleveringer
validering Dette gir valideringsstøtte for forskjellige handlinger

4. Verdistakk

ValueStacki Struts2 er lagringsområdet der hele applikasjonens data lagres for behandling av en forespørsel. Disse dataene holdes innenforActionContextgjenstander som brukerTrådlokalfor å hente verdiene som er spesifikke for en hvilken som helst spesifikk klientforespørselstråd.

5. OGNL

OGNL står for Object-Graph Navigation Language. Det er et kraftig uttrykk språk som JSP og brukes mest tilreferanse og manipulering av data som finnes i ValueStack. Videre hjelper det også med å overføre og konvertere datatypen.

I likhet med JSP inneholder OGNL et rotobjekt innenfor applikasjonssammenheng. Dermed kan du gi referansen til standardobjektet ved hjelp av markeringsnotasjon som i dette tilfellet er betegnet ved hjelp av pundsymbol. Struts 2 framework implementerer OGNL ved å lage et ActionContext-kart. Nedenfor har jeg listet opp komponentene i ActionContext-kartet:

  • applikasjon
  • Økt
  • Verdistakk
  • Be om
  • Parametere
  • Attributter

Med dette er du gjennom det grunnleggende i Struts 2. I neste del av denne Struts 2-artikkelen kan du hoppe direkte inn i koden og implementere alt du har lært til nå.

c ++ program for å sortere en matrise i stigende rekkefølge

Struts 2 Tutorial Demo

Her vil jeg lage en enkel applikasjon der du trenger å skrive inn navnet ditt, og applikasjonen vil ønske deg velkommen. Nedenfor er skjermbildet av den komplette prosjektstrukturen:

Som du kan se, i dette prosjektet vil vi lage 5 filer som er:

  1. HelloWorld.java
  2. index.jsp
  3. velkomst.jsp
  4. web.xml
  5. struts.xml

Merk: Før du starter dette prosjektet, må du kontrollere at du allerede har Tomcat installert på systemet ditt.

TRINN I: Gå til Fil> Ny> Dynamisk webprosjekt i formørkelsen din. Skriv inn prosjektnavnet og klikk på Ny kjøretid.

TRINN II: Her må du velge versjonen av Apache Tomcat du har lastet ned på systemet ditt og klikke på Neste.

TRINN III: Klikk deretter på Bla gjennom og naviger til katalogen der Tomcat-avhengigheter er lagret. Når du er ferdig, klikk på Fullfør og fortsett med prosjektopprettelsen.

TRINN IV: La oss nå legge til Struts jar-filene som er nødvendige for å gjennomføre dette prosjektet. Du kan laste ned JAR fra her . Når du er klar med JAR-filene, kopierer du JAR-ene og limer dem inn under WebContent> WEB-INF> lib.

TRINN V: Nå som vi er klare med alle konfigurasjonene kan vi sette opp kodefilene, og starte med HelloWorld.java. For dette høyreklikker du på prosjektet> Ny> Klasse. Fyll ut pakken og klassenavnet og klikk på ferdig.

TRINN VI: Skriv inn koden nedenfor i HelloWorld.java fil.

pakke com.edureka offentlig klasse HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

TRINN VII: Deretter oppretter du en ny index.jsp filen under WebContent og skriv inn koden nedenfor:

 

TRINN VIII: Nå, lag igjen en ny velkomst.jsp filen under WebContent og skriv inn koden nedenfor:

Velkommen:

TRINN IX: Gå nå til WebContent> WEB-INF og skriv inn koden nedenfor i web.xml fil.

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

TRINN X: Til slutt, under Java Resources> src, opprett struts.xml fil

velkomst.jsp

TRINN XI: Gå nå til index.jsp side og høyreklikk på den. Velg Kjør på server for å utføre applikasjonen.

Dette bringer oss til slutten av denne artikkelen om Struts 2 Tutorial. Hvis du vil vite mer om Java, kan du henvise til vår .

Nå som du har forstått hva som er en Struts 2 Tutorial, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne 'Struts 2 Tutorial' -artikkelen, så kommer vi tilbake til deg så snart som mulig.