Struts 2-handledning - One-stop-lösning för nybörjare



Den här artikeln om Struts 2 Tutorial hjälper dig att komma igång med Struts 2 framework för att utveckla J2EE webbapplikationer tillsammans med koddemonstration.

Om du letar efter en som kan hjälpa dig att utveckla JEE-webbapplikationer snabbt och effektivt, då är Struts 2 den perfekta lösningen för dig. Struts 2 är ett open source-ramverk som används kraftigt på marknaden. Genom denna Struts 2-handledning hjälper jag dig att komma igång med det tillsammans med praktiska implementeringar.

Nedan följer de ämnen jag kommer att diskutera i denna Struts-handledning:





Vad är struts?

I lekmässiga termer är Struts en -baserat ramverk med öppen källkod som hjälper till att utveckla webbapplikationer i J2EE. denutökar och marknadsför modell, vy, kontroller ( MVC ) arkitektur.Detta gör webbapplikationerna utvecklade i standardteknologier somJSP, JavaBeans och XML, mer underhållbara, utdragbara och flexibla.

Struts Framework utvecklades ursprungligen av Craig McClanahan och överlämnades till Apache Foundation i maj 2000. Så småningom erövrar det positionen som ett Apache-projekt på högsta nivå 2005 och senare i februari 2007 ersattes det av Struts 2 .



Struts Framework baserades i stor utsträckning på MVC (Model-View-Controller) designparadigm. Huvudsyftet var att separera modellen från View och Controller i applikationen för att minska beroendet och främja Separation of Concerns (SoC). Med andra ord hjälpte det till att separera applikationslogiken som främst kommunicerar med databasenfrån genom vilken användaren interagerar med applikationen och förekomsten som hjälper till att kanalisera information mellan modell och vy.

Funktioner i Struts 2

  1. POJO-baserade formulär och åtgärder :Åtgärdsklasser i Struts behandlas som styrenheten i applikationen. De är ansvariga för att svara på en användaråtgärd, genomföra affärslogik och returnera ett resultat med den vy som måste återges. Det fungerar också som modellklass.
  2. Förbättrade taggar och anpassning: Olika typer av taggar har introducerats i Struts 2 som UI-taggar, kontrolltaggar, datataggar etc. som hjälper till med applikationsutveckling.
  3. AJAX-funktionalitet: Struts 2 stöder ajax-teknik som vanligtvis används för att generera en asynkron begäran. Det gör att applikationens prestanda förbättras genom att endast skicka nödvändiga fältdata till servern.
  4. Enkel integration: Det ger enkel integration med andra webbramar som , DWR, SiteMesh och Tiles.
  5. Minsta konfigurationer: När du använder Struts 2-applikationen krävs inga overhead-konfigurationer. Det fungerar med minimala konfigurationer där de flesta inställningarna tar standardvärdena om det inte finns någon avvikelse.
  6. Integrera View Technologies: Med Struts2 kan du enkelt integrera med olika visningstekniker som XSLT, JSP, Freemarker, hastighet etc.
  7. Tema och mallar: Struts 2 ger stöd till tre typer av teman:
    1. Xhtml
    2. Enkel
    3. Css_xhtml

Här är XHTML standardtema för Struts 2 och används främst för vanligt utseende.

Nu när du vet vad som är Struts och dess olika funktioner, kan vi gå vidare med den här Struts Tutorial-artikeln och lära dig mer om dess arkitektur.



Arkitektur

Struts Architecture - Struts 2 Tutorial - EdurekaSom du kan se i ovanstående diagram använder Struts hög nivå MVC-arkitektur . Här används Struts2-leveransservletfiltret för att implementera Controller medan åtgärder används för att implementera modellen och View implementeras genom att kombinera resultattyper och resultat. I den här arkitekturen aktiveras den gemensamma tråden, länkning och integration med andra komponenter av värdestacken och OGNL. Utöver detta hjälper konfigurationer för webbapplikationerna tillsammans med åtgärder, avlyssnare, resultat etc. också att kanalisera mycket information.

Låt mig nu förklara det fullständiga arbetsflödet under livscykeln för en begäran som genereras av användaren. Nedan har jag listat ner arbetsflödet steg för steg för att få en bättre förståelse för hur Struts fungerar:

  • Det börjar med användarförfrågan som skickas till servern för att begära någon resurs.
  • Denna begäran behandlas sedan av Filter Dispatcher för att bestämma lämplig åtgärd.
  • Vidare tillämpas sedan korrekt konfigurerade avlyssningsfunktioner på begäran såsom validering, filuppladdning etc.
  • När den valda åtgärden har bestämts och den utförs baserat på den begärda åtgärden.
  • Om eventuell efterbehandling krävs, konfigureras avlyssnare.
  • I slutändan tillhandahålls resultatet av vyn och returneras till användaren.

Jag hoppas att detta rensar arbetsflödet i en Struts-applikation. Låt oss nu se vad allt du behöver i ditt system för att komma igång med Struts i nästa avsnitt i denna Struts 2-handledning

Miljöinställning

Nedan har jag listat de grundläggande nödvändigheterna för att komma igång med Struts 2:

  • Java
    Om du inte har Java installerat på ditt system kan du hänvisa till Java-installation artikel.
  • Hankatt
    Om du inte har Tomcat i ditt system kan du besöka här för gratis nedladdning.
  • IDE (helst Eclipse)
    Slutligen behöver du din Förmörkelse IDE för applikationsutveckling.

När du är klar är du redo att bli våta med Struts. I nästa avsnitt i denna Struts 2-handledning kommer jag att ge dig en kortfattad beskrivning om de grundläggande begreppen i Struts 2.

Fundamentala koncept

1. Konfigurationer

I alla struts-applikationer finns det två huvudkonfigurationsfiler:

  1. struts.xml-fil: Denna fil innehåller information omkonfiguration som ändras som åtgärder. Den används främst för att åsidosätta standardinställningarna i ett program. Den här filen skapas vanligtvis i WEB-INF / -klasskatalogen i alla Struts-projekt.
  2. struts.properties-fil: Den här filen ger en mekanism som kan ändra ramverkets beteende. Sedan enFramework använder ett antal fastigheter, du kan ändra något av det enligt dina krav.

2. Åtgärder

Åtgärder eller actionklasser är kärnkoncepten i alla Struts 2-applikationer, eftersom de fungerar som styrenhet i MVC-mönstret. Med andra ord innehåller åtgärdsklasser den affärslogik som hjälper till att bearbeta data. Utöver detta är också actionklassen ansvarig försvara på en användares begäran, kör affärslogik. Det hjälper också ramverket för att bestämma och returnera ett resultat på grundval av konfigurationsfilen (struts.xml), tillbaka till användaren för att återge sidan Visa.

Stuts2-åtgärdsklasser är inte singleton till sin natur, dvs en instans av denna klass skapas med varje begäran. De behöver således inte vara trådsäkra och är enkla och oberoende. Detta gör testning av dessa klasser mycket enklare.

En åtgärdsfil kan skapas på tre sätt, som är följande:

  • Enkel actionklass
    Vilken som helst konkret java-klass kan användas som en Struts 2-åtgärdsklass men det enda kravet är att klassen måste innehålla en execute () -metod med retursträngen String. Nedan följer koden för att skapa en enkel actionklass:
paketet com.edureka.struts2.action public class DemoAction {public String execute () {return 'Welcome!' }}
  • Implementering av Action-gränssnitt
    En Struts 2 Action-klass kan också skapas genom att implementera com.opensymphony.xwork2.Action-gränssnittet. Den innehåller en enda metod dvs execute () som måste implementeras av implementeringsklassen. Genom att implementera detta gränssnitt kan du använda flera konstanter som SUCCESS, ERROR, INGEN, INPUT och LOGIN som kan användas för resultatsidorna.
    Nedanstående kod visar ett exempel för samma:
paket com.edureka.struts2.action importera com.opensymphony.xwork2.Action public class DemoAction implementerar åtgärd {public String execute () {return SUCCESS}}
  • Utökar ActionSupport-klass

Actionklasser i Struts 2 utökar i allmänhet Action Support-klassen som är standardimplementeringen av Action-gränssnittet. Det tillhandahåller olika tvingande funktioner för webbapplikationsutveckling såsom datavalidering, åtgärdsnivåmeddelande, åtgärdsnivåfelmeddelande, felmeddelande på fältnivå och läsresurs medföljande etc.

Nedan följer implementeringen av samma:

paket com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction utökar ActionSupport {@Override public Sträng execute () kastar Undantag {return SUCCESS}}

3. Avlyssnare

Interceptor fungerar som en av de viktigaste pelarna i Struts 2-ramverket. Det är inget annat än ett objektsom åberopas under förbehandlingen och efterbehandlingen av en begäran.Det hjälper till att kontrollera och upprätthålla en smidig övergång av begäran och svarscykel.

Den största fördelen med att använda avlyssnare är att den är pluggbar. Vad jag menar är, om du inte längre använder någon specifik fråga somvalidering, undantagshantering, loggning etc. kan du enkelt ta bort det från programmet utan att behöva distribuera om det. För detta är allt du behöver göra att ta bort posten från filen struts.xml.

Struts2-ramverket ger en omfattande uppsättning fördefinierade avlyssnare och vanliga avlyssningsstackar som jag har listat i nedanstående tabell:

Jaktplan Beskrivning
alias Detta gör att parametrarna kan ha olika namnalias över användarförfrågningar
kryssruta Detta hjälper till att hantera kryssrutor genom att lägga till ett parametervärde för falskt för kryssrutorna har inte markerats
conversionError Detta placerar felinformationen från att konvertera strängar till parametertyper inom åtgärdens fältfel
createSession Detta skapar implicit en HTTP-session om en inte existerar
felsökning Detta ger olika felsökningsskärmar till utvecklaren
execAndWait Detta överför användaren till en mellanliggande väntsida när åtgärden utförs i bakgrunden
undantag Detta kartlägger de undantag som kastas från handling mot ett resultat
filuppladdning Detta underlättar enkel filöverföring i Struts 2
i18n Detta hjälper till att hålla reda på den angivna platsen under en användares session
loggar Detta ger enkel loggning till användaren genom att generera utdata som namnet på den åtgärd som utförs
params Detta hjälper till att ställa in begäran parametrar för åtgärden
förbereda Detta används för att utföra förbehandlingsarbete
profil Detta möjliggör enkel profilinformation för loggningsåtgärder.
omfattning Detta lagrar och hämtar åtgärdens tillstånd under användarsessionen eller applikationsomfånget
ServletConfig Detta ger tillåter åtgärden att komma åt olika servlet-baserad information
timer Detta ger enkel profilinformation
tecken Detta hjälper till att kontrollera åtgärden för en giltig token för att förhindra dubbla formulärinlämningar
godkännande Detta ger valideringsstöd för olika åtgärder

4. Värde stack

ValueStacki Struts2 är lagringsområdet där hela applikationens data lagras för behandling av en begäran. Dessa uppgifter lagras inomActionContextföremål som använder sig avTrådlokalför att hämta de värden som är specifika för en specifik klientförfrågningstråd.

5. OGNL

OGNL står för Object-Graph Navigation Language. Det är ett kraftfullt uttryckspråk som JSP och används mest förreferens och manipulation av data som finns i ValueStack. Dessutom hjälper det också till att överföra och konvertera datatypen.

I likhet med JSP innehåller OGNL ett rotobjekt inom applikationens sammanhang. Således kan du ange referensen för standardobjektet med hjälp av markeringsnotation som i detta fall betecknas med pundsymbol. Struts 2 framework implementerar OGNL genom att bygga en ActionContext-karta. Nedan har jag listat komponenterna i ActionContext-kartan:

  • Ansökan
  • Session
  • Värde stack
  • Begäran
  • Parametrar
  • Attribut

Med detta går du igenom grunderna i Struts 2. I nästa avsnitt i denna Struts 2-artikel kan du direkt hoppa in i koden och implementera allt du har lärt dig hittills.

pl sql för nybörjare med exempel

Struts 2 Tutorial Demo

Här kommer jag att skapa en enkel applikation där du måste ange ditt namn och applikationen kommer att välkomna dig. Nedan visas skärmdumpen av den fullständiga projektstrukturen:

Som du kan se kommer vi i det här projektet att skapa 5 filer som är:

  1. HelloWorld.java
  2. index.jsp
  3. välkommen.jsp
  4. web.xml
  5. struts.xml

Obs! Innan du startar detta projekt, se till att du redan har Tomcat installerat på ditt system.

STEG I: I din förmörkelse går du till Arkiv> Nytt> Dynamiskt webbprojekt. Ange projektnamnet och klicka på Ny körtid.

STEG II: Här måste du välja den version av Apache Tomcat som du har laddat ner på ditt system och klicka på Nästa.

STEG III: Klicka sedan på Bläddra och navigera till katalogen där Tomcat-beroenden har sparats. När du är klar klickar du på Slutför och fortsätter med projektskapandet.

STEG IV: Låt oss nu lägga till Struts jar-filer som krävs för att projektet ska lyckas. Du kan ladda ner JAR från här . När du är klar med JAR-filerna kopierar du JAR och klistrar in dem under WebContent> WEB-INF> lib.

STEG V: Nu när vi är redo med alla konfigurationer kan vi ställa in kodfiler, med början med HelloWorld.java. För detta högerklickar du på projektet> Nytt> Klass. Fyll i paket och klassnamn och klicka på Slutför.

STEG VI: Skriv in koden nedan i HelloWorld.java fil.

paket com.edureka offentlig klass HelloWorld {privat Strängnamn offentligt String getName () {returnamn} offentligt ogiltigt uppsättningsnamn (Strängnamn) {detta.namn = namn} offentligt Sträng kör () {return 'framgång'}}

STEG VII: Skapa sedan en ny index.jsp fil under WebContent och skriv in nedanstående kod:

 

STEG VIII: Skapa nu en ny välkommen.jsp fil under WebContent och skriv in nedanstående kod:

Välkommen:

STEG IX: Gå nu till WebContent> WEB-INF och skriv in nedanstående kod i web.xml fil.

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

STEG X: Slutligen, under Java Resources> src, skapa struts.xml fil

välkommen.jsp

STEG XI: Gå nu till index.jsp och högerklicka på den. Välj Kör på server för att köra programmet.

Detta tar oss till slutet av den här artikeln om Struts 2 Tutorial. Om du vill veta mer om Java kan du hänvisa till vår .

Nu när du har förstått vad som är en Struts 2-handledning, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i den här artikeln 'Struts 2 Tutorial' så återkommer vi till dig så snart som möjligt.