Úvod do programu Quick Struts 2

1. Úvod

Apache Struts 2 je rámec založený na MVC pre vývoj podnikových webových aplikácií Java. Je to úplné prepísanie pôvodného rámca Struts. Má implementáciu API s otvoreným zdrojom a bohatú sadu funkcií.

V tomto tutoriáli sa dozvieme úvod do rôznych základných komponentov rámca Struts2 pre začiatočníkov. Ďalej si ukážeme, ako ich používať.

2. Prehľad rámca Struts 2

Niektoré z funkcií Struts 2 sú:

  • Akcie založené na POJO (obyčajné staré objekty Java)
  • podpora doplnkov pre REST, AJAX, Hibernate, Spring atď
  • konvencia nad konfiguráciou
  • podpora rôznych technológií vrstiev
  • jednoduchosť profilovania a ladenia

2.1. Rôzne súčasti Struts2

Struts2 je rámec založený na MVC, takže vo všetkých aplikáciách Struts2 budú prítomné nasledujúce tri komponenty:

  1. Akčná trieda - čo je trieda POJO (POJO znamená, že nie je súčasťou žiadnej typovej hierarchie a dá sa použiť ako samostatná trieda); tu implementujeme našu obchodnú logiku
  2. Radič - v Struts2 sa ako kontroléry používajú filtre HTTP; v podstate vykonávajú úlohy, ako je zachytávanie a validácia požiadaviek / odpovedí
  3. Vyhliadka - sa používa na prezentáciu spracovaných údajov; je to zvyčajne súbor JSP

3. Návrh našej aplikácie

Poďme s vývojom našej webovej aplikácie. Je to aplikácia, kde si používateľ vyberie konkrétny údaj Auto značky a privíta vás prispôsobenou správou.

3.1. Maven závislosti

Pridajme nasledujúce položky do 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 

Najnovšiu verziu závislostí nájdete tu.

3.2. Obchodná logika

Vytvorme triedu akcie CarAction ktorá vráti správu pre konkrétnu vstupnú hodnotu. The CarAction má dve polia - carName (používa sa na ukladanie vstupu od používateľa) a carMessage (používa sa na uloženie zobrazenej vlastnej správy):

public class CarAction {private String carName; private String carMessage; private CarMessageService carMessageService = nový CarMessageService (); public String execute () {this.setCarMessage (this.carMessageService.getMessage (carName)); návrat "úspech"; } // zakladatelia a zakladatelia}

The CarAction trieda používa CarMessageService ktorý poskytuje prispôsobenú správu pre a Auto značka:

public class CarMessageService {public String getMessage (String carName) {if (carName.equalsIgnoreCase ("ferrari")) {return "Ferrari Fan!"; } else if (carName.equalsIgnoreCase ("bmw")) {return "BMW Fan!"; } else {návrat "prosím zvoľte ferrari alebo bmw"; }}}

3.3. Prijímame vstupy používateľov

Pridajme a JSP ktorý je vstupným bodom v našej aplikácii. Toto je obsah input.jsp spis:

Vitajte v aplikácii Baeldung Struts 2

Ktoré auto sa ti páči !!

Vyberte si prosím ferrari alebo bmw

The <formulárZnačka> určuje akciu (v našom prípade ide o HTTP URI, na ktorú je potrebné poslať požiadavku GET).

3.4. Kontrolná časť

StrutsPrepareAndExecuteFilter je kontrolór, ktorý zachytí všetky prichádzajúce požiadavky. Musíme zaregistrovať nasledujúci filter v web.xml:

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

StrutsPrepareAndExecuteFilter bude filtrovať každú prichádzajúcu požiadavku, pretože určujeme zástupný znak pre URL /*

3.5. Konfigurácia aplikácie

Pridajme do našej triedy akcií nasledujúce anotácie Auto:

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

Poďme pochopiť logiku týchto anotácií. The @Menný priestor sa používa na logické oddelenie URI požiadavky pre rôzne triedy akcií; túto hodnotu musíme zahrnúť do našej žiadosti.

Ďalej @Action hovorí skutočný koncový bod URI požiadavky, ktorý zasiahne náš Akcia trieda. Akčná trieda konzultuje CarMessageService a inicializuje hodnotu inej členskej premennej carMessage. Po vykonať () metóda vráti hodnotu, "úspech" v našom prípade sa zhoduje s touto hodnotou, ktorú je možné vyvolať result.jsp

Nakoniec @Výsledok má dva parametre. Prvý, názov, určuje hodnotu, ktorú náš Akcia trieda sa vráti; táto hodnota je vrátená z vykonať () metóda Akcia trieda. Toto je predvolený názov metódy, ktorá sa vykoná.

Druhá časť, umiestnenie, určuje, na ktorý súbor sa má odkazovať po vykonať () metóda vrátila hodnotu. Tu upresňujeme, že keď vykonať () vráti reťazec s hodnotou “úspech“, Musíme žiadosť postúpiť result.jsp.

Rovnakú konfiguráciu je možné dosiahnuť poskytnutím konfiguračného súboru XML:

   /result.jsp 

3.6. Výhľad

Toto je obsah result.jsp ktoré sa použijú na prezentáciu správy používateľovi:

Dobrý deň, užívateľ Baeldung

Ste

Tu si treba všimnúť dve dôležité veci:

  • v dovážame vzpery-značky knižnica
  • v používame vzpery-značky knižnica na vytlačenie hodnoty nehnuteľnosti carMessage

4. Spustenie aplikácie

Túto webovú aplikáciu je možné spustiť v ľubovoľnom webovom kontajneri, napríklad v serveri Apache Tomcat. K tomu sú potrebné kroky:

  1. Po nasadení webovej aplikácie otvorte prehliadač a prejdite na nasledujúcu adresu URL: //www.localhost.com:8080/MyStrutsApp/input.jsp
  2. Vyberte jednu z dvoch možností a odošlite žiadosť
  3. Budete presmerovaný na result.jsp stránka s prispôsobenou správou na základe vybranej možnosti vstupu

5. Záver

V tomto tutoriáli sme prešli krok za krokom sprievodcu, ako vytvoriť našu prvú webovú aplikáciu Struts2. Prebrali sme rôzne aspekty súvisiace s MVC v doméne Struts2 a ukázali sme, ako ich dať dohromady pre vývoj.

Ako vždy, tento návod nájdete na Githube ako projekt Maven.