Struts 2 Tutorial - One-stop-løsning til begyndere

Denne artikel om Struts 2 Tutorial hjælper dig med at komme i gang med Struts 2 framework til udvikling af J2EE webapplikationer sammen med kodedemonstration.

Hvis du leder efter en der kan hjælpe dig med at udvikle JEE webapplikationer hurtigt og effektivt, så er Struts 2 den perfekte løsning for dig. Struts 2 er en open source-ramme, der bruges stærkt på markedet. Gennem denne Struts 2-vejledning hjælper jeg dig med at komme i gang med det sammen med praktiske implementeringer.



Nedenfor er de emner, jeg vil diskutere i denne Struts tutorial:



Hvad er struts?

I lægmandssprog er Struts en -baseret open source-ramme, der hjælper med at udvikle webapplikationer i J2EE. Detudvider og promoverer Model, View, Controller ( MVC ) arkitektur.Dette gør webapplikationer udviklet i standardteknologier som f.eksJSP, JavaBeans og XML, mere vedligeholdelige, udvidelige og fleksible.

Struts Framework blev oprindeligt udviklet af Craig McClanahan og blev afleveret til Apache Foundation i maj 2000. Efterhånden indtager den positionen som et top-niveau Apache-projekt i 2005 og senere i februar 2007 blev det erstattet af Stivere 2 .



Struts Framework var i vid udstrækning baseret på MVC (Model-View-Controller) designparadigme. Dets hovedmål var at adskille modellen fra visningen og controlleren i applikationen for at reducere afhængighed og fremme adskillelse af bekymringer (SoC). Med andre ord hjalp det med at adskille applikationslogikken, der primært kommunikerer med databasenfra hvorigennem brugeren interagerer med applikationen og forekomsten, som hjælper med at kanalisere information mellem model og visning.

Funktioner i Struts 2

  1. POJO-baserede former og handlinger :Handlingsklasser i Struts behandles som controller i applikationen. De er ansvarlige for at reagere på en brugerhandling, udføre forretningslogik og returnere et resultat med den visning, der skal gengives. Det fungerer også som modelklasse.
  2. Forbedrede tags og tilpasning: Forskellige typer tags er blevet introduceret i Struts 2 som UI-tags, kontrolkoder, datatags osv., Som hjælper med applikationsudvikling.
  3. AJAX-funktionalitet: Struts 2 understøtter ajax-teknologi, som typisk bruges til at generere en asynkron anmodning. Det gør det forbedrer applikationens ydeevne ved kun at sende de krævede feltdata til serveren.
  4. Nem integration: Det giver nem integration med andre webrammer som f.eks , DWR, SiteMesh og Tiles.
  5. Minimale konfigurationer: Når du bruger Struts 2-applikationen, er der ingen overheadkonfigurationer påkrævet. Det fungerer med minimale konfigurationer, hvor de fleste af indstillingerne tager standardværdierne, medmindre der er nogen afvigelse.
  6. Integrer visningsteknologier: Med Struts2 kan du nemt integrere med forskellige visningsteknologier som XSLT, JSP, Freemarker, hastighed osv.
  7. Tema og skabeloner: Struts 2 understøtter 3 typer temaer:
    1. Xhtml
    2. Enkel
    3. Css_xhtml

Her er XHTML standardtema for Struts 2 og bruges hovedsageligt til almindeligt udseende.

Nu hvor du ved, hvad der er Struts og dets forskellige funktioner, kan vi nu gå videre med denne Struts Tutorial-artikel og lære om dens arkitektur.



Arkitektur

Struts Architecture - Struts 2 Tutorial - EdurekaSom du kan se i ovenstående diagram, bruger Struts højt niveau MVC-arkitektur . Her bruges Struts2 forsendelses servletfilter til at implementere controlleren, mens handlinger bruges til at implementere modellen, og visningen implementeres ved at kombinere resultattyper og resultater. I denne arkitektur er den fælles tråd, sammenkædning og integration med andre komponenter aktiveret af værdistakken og OGNL. Oven i dette hjælper konfigurationer til webapplikationer sammen med handlinger, interceptors, resultater osv. Også med at kanalisere en masse information.

Lad mig nu forklare den komplette arbejdsgang i løbet af livscyklussen for en anmodning genereret af brugeren. Nedenfor har jeg listet trin for trin workflow for din bedre forståelse af, hvordan Struts fungerer:

  • Det begynder med brugeranmodningen, der sendes til serveren til anmodning om en eller anden ressource.
  • Denne anmodning behandles derefter af Filter Dispatcher for at bestemme den passende handling.
  • Yderligere anvendes korrekt konfigurerede interceptorfunktioner på anmodningen, såsom validering, filupload osv.
  • Når den valgte handling er besluttet, og den er udført baseret på den ønskede handling.
  • Hvis der kræves efterbehandling, konfigureres interceptors.
  • I sidste ende leveres resultatet af visningen og returneres til brugeren.

Jeg håber, at dette rydder arbejdsgangen i en Struts-applikation. Lad os nu se, hvad alt hvad du har brug for i dit system for at komme i gang med Struts i det næste afsnit af denne Struts 2-vejledning

Opsætning af miljø

Nedenfor har jeg listet de grundlæggende fornødenheder for at komme i gang med Struts 2:

  • Java
    Hvis du ikke har Java installeret på dit system, kan du henvise til Java-installation artikel.
  • Tomcat
    Hvis du ikke har Tomcat i dit system, kan du besøge her til gratis download.
  • IDE (helst formørkelse)
    Endelig har du brug for din Formørkelse IDE til applikationsudvikling.

Når du er færdig, er du klar til at få dine fødder våde med Struts. I det næste afsnit af denne Struts 2-vejledning giver jeg dig en kort beskrivelse af de grundlæggende begreber i Struts 2.

Grundlæggende begreber

1. Konfigurationer

Under alle omstændigheder er der to hovedkonfigurationsfiler:

  1. struts.xml-fil: Denne fil indeholder oplysningerne omkonfiguration, der ændres som handlinger. Det bruges hovedsageligt til at tilsidesætte standardindstillingerne i en applikation. Denne fil oprettes generelt inden for WEB-INF / class-biblioteket i ethvert Struts-projekt.
  2. struts.properties-fil: Denne fil tilvejebringer en mekanisme, der kan ændre rammens opførsel. Siden enframework gør brug af et antal egenskaber, du kan ændre en hvilken som helst af det efter dine krav.

2. Handlinger

Handlinger eller handlingsklasser er kernebegreberne i enhver Struts 2-applikation, da de fungerer som controller i MVC-mønsteret. Med andre ord indeholder handlingsklasser den forretningslogik, som hjælper med at behandle dataene. Bortset fra dette er handlingsklasse også ansvarlig forreagere på en brugeranmodning, udføre forretningslogik. Det hjælper også rammen med at bestemme og returnere et resultat på baggrund af konfigurationsfilen (struts.xml), tilbage til brugeren for gengivelse af visningssiden.

Stuts2-handlingsklasser er ikke singleton i naturen, dvs. der oprettes en forekomst af denne klasse med hver anmodning. De behøver således ikke at være trådsikre og er enkle og uafhængige. Dette gør test af disse klasser meget lettere.

En handlingsfil kan oprettes på tre måder, som er som følger:

  • Enkel actionklasse
    Enhver konkret java-klasse kan bruges som en Struts 2-handlingsklasse, men det eneste krav er, at klassen skal indeholde en execute () -metode med strengretur-typen. Nedenfor er koden til at oprette en simpel Action Class:
pakke com.edureka.struts2.action offentlig klasse DemoAction {public String execute () {return 'Welcome!' }}
  • Implementering af handlingsgrænseflade
    En Struts 2 Action-klasse kan også oprettes ved at implementere com.opensymphony.xwork2.Action-grænsefladen. Den indeholder en enkelt metode, dvs. execute (), som skal implementeres af implementeringsklassen. Ved at implementere denne grænseflade kan du gøre brug af flere konstanter som SUCCESS, FEJL, INGEN, INPUT og LOGIN, som kan bruges til resultatsiderne.
    Nedenstående kode viser et eksempel på det samme:
pakke com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementerer handling {public String execute () {return SUCCESS}}
  • Udvidelse af ActionSupport-klasse

Handlingsklasser i Struts 2 udvider generelt Action Support-klassen, som er standardimplementeringen af ​​Action-interface. Det giver forskellige vigtige funktioner til webapplikationsudvikling, såsom datavalidering, besked på handlingsniveau, fejlmeddelelse på handlingsniveau, fejlmeddelelse på feltniveau og læst ressource, osv.

Nedenfor er implementeringen af ​​det samme:

pakke com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction udvider ActionSupport {@Override public String execute () kaster Undtagelse {return SUCCESS}}

3. Interceptorer

Interceptor fungerer som en af ​​de største søjler i Struts 2-rammen. Det er intet andet end et objektsom påberåbes under forbehandling og efterbehandling af en anmodning.Det hjælper med at kontrollere og vedligeholde den glatte overgang af anmodnings- og svarcyklus.

Den største fordel ved at bruge interceptors er, at den kan tilsluttes. Hvad jeg mener er, hvis du ikke længere har brug for en bestemt bekymring somvalidering, undtagelseshåndtering, logning osv., kan du nemt fjerne det fra applikationen uden at skulle omplacere det. Til dette er alt hvad du skal gøre, at slette posten fra filen struts.xml.

Struts2-rammen giver et omfattende sæt foruddefinerede interceptorer og fælles interceptor-stakke, som jeg har angivet i nedenstående tabel:

Interceptor Beskrivelse
alias Dette gør det muligt for parametrene at have forskellige navnealiaser på tværs af brugeranmodninger
afkrydsningsfelt Dette hjælper med at administrere afkrydsningsfelter ved at tilføje en parameterværdi falsk for afkrydsningsfelterne ikke er markeret
conversionError Dette placerer fejloplysningerne fra konvertering af strenge til parametertyper inden for handlingens feltfejl
createSession Dette opretter implicit en HTTP-session, hvis en ikke eksisterer
fejlretning Dette giver forskellige fejlretningsskærme til udvikleren
execAndWait Dette overfører brugeren til en mellemliggende venteside, når handlingen udføres i baggrunden
undtagelse Dette kortlægger de undtagelser, der kastes fra handling mod et resultat
fil upload Dette letter nem filupload i Struts 2
i18n Dette hjælper med at holde styr på det angivne sprog under en brugers session
logger Dette giver enkel logning til brugeren ved at generere output som navnet på den handling, der udføres
params Dette hjælper med at indstille anmodningsparametrene for handlingen
forberede Dette bruges til at udføre forbehandlingsarbejde
profil Dette giver mulighed for enkel profilering af oplysninger til logning af handlinger.
rækkevidde Dette gemmer og henter handlingens tilstand under brugersessionen eller applikationsomfanget
ServletConfig Dette giver tillader handlingen at få adgang til forskellige servlet-baserede oplysninger
timer Dette giver enkel profilinformation
polet Dette hjælper med at kontrollere handlingen for et gyldigt token for at forhindre duplikat af formularindsendelser
validering Dette giver valideringsstøtte til forskellige handlinger

4. Værdistak

ValueStacki Struts2 er det lagerområde, hvor hele applikationens data lagres til behandling af en anmodning. Disse data opbevares iActionContextgenstande, der gør brug afTrådlokaltil at hente de værdier, der er specifikke for en bestemt tråd med klientanmodninger

5. OGNL

OGNL står for Object-Graph Navigation Language. Det er et stærkt ekspressionssprog ligesom JSP og bruges mest tilreference og manipulation af data, der findes i ValueStack. Desuden hjælper det også med at overføre og konvertere datatypen.

I lighed med JSP indeholder OGNL et rodobjekt inden for applikationskonteksten. Således kan du angive referencen til standardobjektet ved hjælp af markeringsnotation, som i dette tilfælde er betegnet ved hjælp af pundsymbol. Struts 2 framework implementerer OGNL ved at oprette et ActionContext-kort. Nedenfor har jeg listet komponenterne på ActionContext-kortet ned:

  • Ansøgning
  • Session
  • Værdistak
  • Anmodning
  • Parametre
  • Egenskaber

Med dette er du igennem det grundlæggende i Struts 2. I det næste afsnit i denne Struts 2-artikel kan vi direkte hoppe ind i koden og implementere alt, hvad du har lært indtil nu.

hvordan man opretter en app i salesforce

Struts 2 Tutorial Demo

Her opretter jeg en simpel applikation, hvor du skal indtaste dit navn, og applikationen byder dig velkommen. Nedenfor er skærmbilledet af den komplette projektstruktur:

Som du kan se, opretter vi i dette projekt 5 filer, der er:

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

Bemærk: Før du starter dette projekt, skal du sørge for, at du allerede har Tomcat installeret på dit system.

TRIN I: I din formørkelse skal du gå til Filer> Ny> Dynamisk webprojekt. Indtast projektnavnet, og klik på Ny kørselstid.

TRIN II: Her skal du vælge den version af Apache Tomcat, du har downloadet på dit system, og klikke på Næste.

TRIN III: Klik derefter på Gennemse og naviger til den mappe, hvor Tomcat-afhængigheder er gemt. Når du er færdig, skal du klikke på Finish og fortsætte med Project Creation.

TRIN IV: Lad os nu tilføje de Struts jar-filer, der kræves for en vellykket udførelse af dette projekt. Du kan downloade JAR'erne fra her . Når du er klar med JAR-filerne, skal du kopiere JAR'erne og indsætte dem under WebContent> WEB-INF> lib.

TRIN V: Nu hvor vi er klar med alle konfigurationer, kan vi konfigurere kodefilerne, startende med HelloWorld.java. Til dette skal du højreklikke på projektet> Ny> Klasse. Udfyld pakke og klasse navn, og klik på finish.

TRIN VI: Indtast nedenstående kode i HelloWorld.java fil.

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

TRIN VII: Opret derefter et nyt index.jsp fil under WebContent, og skriv nedenstående kode:

 

TRIN VIII: Opret nu en ny velkommen.jsp fil under WebContent, og skriv nedenstående kode:

Velkommen:

TRIN IX: Gå nu til WebContent> WEB-INF, og skriv nedenstående kode i web.xml fil.

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

TRIN X: Endelig skal du oprette under Java Resources> src struts.xml fil

velkommen.jsp

TRIN XI: Gå nu til index.jsp side og højreklik på den. Vælg Kør på server for at udføre applikationen.

Dette bringer os til slutningen af ​​denne artikel om Struts 2 Tutorial. Hvis du vil vide mere om Java, kan du henvise til vores .

Nu hvor du har forstået, hvad der er en Struts 2-tutorial, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'Struts 2 Tutorial' -artikel, og vi vender tilbage til dig så hurtigt som muligt.