A Quick Struts 2 Intro

1. Introduktion

Apache Struts 2 er en MVC-baseret ramme til udvikling af Java-webapplikationer til virksomheder. Det er en komplet omskrivning af originale Struts-rammer. Det har en open source API-implementering og et rig funktionssæt.

I denne vejledning får vi en begynderintroduktion til forskellige kernekomponenter i Struts2-rammen. Desuden vil vi vise, hvordan du bruger dem.

2. Oversigt over Struts 2 Framework

Nogle af Struts 2-funktionerne er:

  • POJO (almindelige gamle Java Objects) -baserede handlinger
  • plugin support til REST, AJAX, Hibernate, Spring osv
  • konvention over konfiguration
  • understøttelse af forskellige visningslags teknologier
  • nem profilering og fejlretning

2.1. Forskellige komponenter i stivere2

Struts2 er en MVC-baseret ramme, så følgende tre komponenter vil være til stede i alle Struts2-applikationer:

  1. Handlingsklasse - som er en POJO-klasse (POJO betyder, at den ikke er en del af nogen typehierarki og kan bruges som en enkeltstående klasse); vi implementerer vores forretningslogik her
  2. Controller - i Struts2 bruges HTTP-filtre som controllere; de udfører dybest set opgaver som at opfange og validere anmodninger / svar
  3. Udsigt - bruges til at præsentere behandlede data; det er normalt en JSP-fil

3. Design af vores applikation

Lad os fortsætte med udviklingen af ​​vores webapp. Det er et program, hvor en bruger vælger et bestemt Bil mærke og bliver mødt af en tilpasset besked.

3.1. Maven afhængigheder

Lad os tilføje følgende poster til pom.xml:

 org.apache.struts struts2-core 2.5.10 org.apache.struts struts2-junit-plugin 2.5.10 org.apache.struts struts2-convention-plugin 2.5.10 

Den seneste version af afhængighederne kan findes her.

3.2. Forretningslogik

Lad os oprette en actionklasse CarAction der returnerer en besked for en bestemt inputværdi. Det CarAction har to felter - bilnavn (bruges til lagring af input fra brugeren) og carMessage (bruges til lagring af den brugerdefinerede besked, der skal vises):

offentlig klasse CarAction {private String carName; privat String carMessage; private CarMessageService carMessageService = nye CarMessageService (); public String execute () {this.setCarMessage (this.carMessageService.getMessage (carName)); returnere "succes"; } // getters og setters}

Det CarAction klasse bruger CarMessageService som giver den tilpassede besked til en Bil mærke:

offentlig klasse CarMessageService {public String getMessage (String carName) {if (carName.equalsIgnoreCase ("ferrari")) {returner "Ferrari Fan!"; } ellers hvis (carName.equalsIgnoreCase ("bmw")) {returner "BMW Fan!"; } ellers {return "vælg venligst ferrari eller bmw"; }}}

3.3. Accepterer brugerinput

Lad os tilføje en JSP som er et indgangspunkt i vores ansøgning. Dette er et indhold af input.jsp fil:

Velkommen til Baeldung Struts 2 app

Hvilken bil kan du lide !!

Vælg ferrari eller bmw

<form> tag specificerer handlingen (i vores tilfælde er det en HTTP URI, som GET-anmodning skal sendes til).

3.4. Controller-delen

StrutsPrepareAndExecuteFilter er controller, som vil opfange alle indgående anmodninger. Vi skal registrere følgende filter i web.xml:

 struts2 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter struts2 / * 

StrutsPrepareAndExecuteFilter vil filtrere hver indgående anmodning, da vi angiver URL-matchende jokertegn /*

3.5. Konfiguration af applikationen

Lad os tilføje følgende kommentarer til vores actionklasse Bil:

@Namespace ("/ tutorial") @Action ("/ car") @Result (name = "success", location = "/result.jsp")

Lad os forstå logikken i disse kommentarer. Det @Navneområde bruges til logisk adskillelse af anmodnings-URI for forskellige handlingsklasser; vi skal medtage denne værdi i vores anmodning.

Desuden er den @Handling fortæller det faktiske slutpunkt for anmodningen URI, der vil ramme vores Handling klasse. Handlingsklassen rådfører sig CarMessageService og initialiserer værdien af ​​et andet medlemsvariabel carMessage. Efter udføre () metode returnerer en værdi, "succes" i vores tilfælde svarer det til den værdi, der skal påberåbes resultat.jsp

Endelig blev @Resultat har to parametre. Første, navn, angiver den værdi, som vores Handling klasse vender tilbage; denne værdi returneres fra udføre () metode til Handling klasse. Dette er standardmetodenavnet, der udføres.

Anden del, Beliggenhed, fortæller hvilken fil der skal henvises til efter udføre () metoden har returneret en værdi. Her specificerer vi, hvornår udføre () returnerer en streng med værdi “succes”, Vi er nødt til at videresende anmodningen til resultat.jsp.

Den samme konfiguration kan opnås ved at levere XML-konfigurationsfil:

   /result.jsp 

3.6. Udsigten

Dette er indholdet af resultat.jsp som vil blive brugt til at præsentere beskeden for brugeren:

Hej Baeldung-bruger

Du er en

Der er to vigtige ting at bemærke her:

  • i vi importerer struts-tags bibliotek
  • i vi bruger struts-tags bibliotek for at udskrive værdien af ​​en ejendom carMessage

4. Kørsel af applikationen

Denne webapp kan køres i enhver webcontainer, for eksempel i Apache Tomcat. Dette er de krævede trin for at opnå det:

  1. Efter installation af webappen skal du åbne browseren og få adgang til følgende URL: //www.localhost.com:8080/MyStrutsApp/input.jsp
  2. Vælg en af ​​de to muligheder, og send anmodningen
  3. Du vil blive videresendt til resultat.jsp side med tilpasset besked baseret på den valgte inputmulighed

5. Konklusion

I denne vejledning gik vi gennem en trinvis vejledning, hvordan vi opretter vores første Struts2-webapplikation. Vi dækkede forskellige MVC-relaterede aspekter i Struts2-domænet og viste, hvordan vi sammensatte dem til udvikling.

Som altid kan denne tutorial findes på Github som et Maven-projekt.


$config[zx-auto] not found$config[zx-overlay] not found