Výukový program Struts 2 - komplexní řešení pro začátečníky

Tento článek o kurzu Struts 2 vám pomůže začít s rámcem Struts 2 pro vývoj webových aplikací J2EE společně s ukázkou kódu.

Pokud hledáte které vám mohou pomoci při rychlém a efektivním vývoji webových aplikací JEE, je pro vás Struts 2 dokonalým řešením. Struts 2 je open-source framework, který je na trhu hojně využíván. Prostřednictvím tohoto výukového programu Struts 2 vám pomůžu začít s praktickými implementacemi.

Níže uvádíme témata, kterým se budu v tomto tutoriálu Struts věnovat:





Co je to Struts?

Laicky řečeno, Struts je založený na otevřeném rámci, který pomáhá při vývoji webových aplikací v J2EE. Torozšiřuje a propaguje model, pohled, ovladač ( MVC ) architektura.Díky tomu jsou webové aplikace vyvíjeny ve standardních technologiích, jako jeJSP, JavaBeans a XML, více udržovatelné, rozšiřitelné a flexibilní.

Rámec Struts byl původně vyvinut Craigem McClanahanem a byl předán Apache Foundation v květnu 2000. Postupně zachycuje pozici projektu Apache nejvyšší úrovně v roce 2005 a později v únoru 2007, byl nahrazen Vzpěry 2 .



Rámec Struts byl široce založen na MVC (Řadič zobrazení modelu) paradigma designu. Jeho hlavním cílem bylo oddělit model od pohledu a kontroleru v aplikaci, aby se snížila závislost a podpořilo se oddělení obav (SoC). Jinými slovy to pomohlo oddělit logiku aplikace, která komunikuje hlavně s databázíz prostřednictvím kterého uživatel interaguje s aplikací a instancí, která pomáhá při směrování informací mezi Modelem a Pohledem.

Vlastnosti Struts 2

  1. Formuláře a akce založené na POJO :S akčními třídami ve Struts se zachází jako s ovladačem v aplikaci. Jsou zodpovědní za reakci na akci uživatele, provedení obchodní logiky a vrácení výsledku s pohledem, který je třeba vykreslit. Funguje také jako třída Model.
  2. Vylepšené značky a přizpůsobení: Ve Struts 2 byly zavedeny různé typy značek, jako jsou značky uživatelského rozhraní, kontrolní značky, datové značky atd., Které pomáhají při vývoji aplikací.
  3. Funkce AJAX: Struts 2 podporuje technologii ajax, která se obvykle používá pro generování asynchronního požadavku. Vylepšuje výkon aplikace odesláním pouze požadovaných dat pole na server.
  4. Snadná integrace: Poskytuje snadnou integraci s dalšími webovými rámci, jako je , DWR, SiteMesh a Tiles.
  5. Minimální konfigurace: Při používání aplikace Struts 2 nejsou vyžadovány žádné konfigurace režií. Funguje s minimálními konfiguracemi, kde většina nastavení přijímá výchozí hodnoty, pokud nedojde k žádné odchylce.
  6. Integrovat technologie zobrazení: Se Struts2 se můžete snadno integrovat s různými zobrazovacími technologiemi, jako jsou XSLT, JSP, Freemarker, rychlost atd.
  7. Téma a šablony: Struts 2 poskytuje podporu pro 3 typy témat:
    1. Xhtml
    2. Jednoduchý
    3. Css_xhtml

Zde je XHTML výchozím motivem pro Struts 2 a používá se hlavně pro běžný vzhled a chování.

Nyní, když víte, co je Struts a jeho různé funkce, pojďme nyní pokročit v tomto článku Struts Tutorial a dozvědět se o jeho architektuře.



Architektura

Architektura Struts - Výukový program Struts 2 - EdurekaJak vidíte na výše uvedeném diagramu, Struts používá vysokou úroveň MVC architektura . Zde se k implementaci Kontroleru používá filtr odeslání servletu Struts2, zatímco akce se používají k implementaci Modelu a Pohled se implementuje kombinací typů výsledků a výsledků. V této architektuře je společné vlákno, propojení a integrace s dalšími komponentami povoleno pomocí zásobníku hodnot a OGNL. Kromě toho konfigurace webových aplikací spolu s akcemi, zachycovači, výsledky atd. Také pomáhají při směrování mnoha informací.

Nyní mi dovolte vysvětlit kompletní pracovní postup během životního cyklu požadavku generovaného uživatelem. Níže uvádíme pracovní postup krok za krokem, abyste lépe porozuměli fungování Struts:

  • Začíná to požadavkem uživatele, který je odeslán na server k vyžádání nějakého prostředku.
  • Tento požadavek je poté zpracován dispečerem filtru k určení příslušné akce.
  • Dále se na požadavek aplikují správně nakonfigurované funkce zachycovače, jako je ověření, nahrání souboru atd.
  • Jakmile se o vybrané akci rozhodne a provede se na základě požadované operace.
  • V případě, že je vyžadováno jakékoli následné zpracování, nakonfigurované zachycovače jsou vyvolány.
  • Na konci je výsledek poskytnut zobrazením a je vrácen uživateli.

Doufám, že to vymaže pracovní postup v aplikaci Struts. Pojďme se podívat, co vše, co ve svém systému potřebujete, abyste mohli začít se Struts, v další části tohoto kurzu Struts 2

Nastavení prostředí

Níže jsem uvedl základní potřeby pro začátek Struts 2:

  • Jáva
    Pokud ve svém systému nemáte nainstalovanou Javu, můžete se podívat na Instalace Java článek.
  • Kocour
    Pokud ve svém systému nemáte Tomcat, můžete navštívit tady ke stažení zdarma.
  • IDE (nejlépe Eclipse)
    Nakonec potřebujete svůj Zatmění IDE pro vývoj aplikací.

Jakmile jste hotovi, jste připraveni namočit si nohy pomocí Struts. V další části tohoto kurzu Struts 2 vám poskytnu stručné seznámení se základními koncepty Struts 2.

Základní koncepty

1. Konfigurace

V jakékoli aplikaci Struts existují dva hlavní konfigurační soubory:

  1. soubor struts.xml: Tento soubor obsahuje informace týkající sekonfigurace, které jsou upraveny jako akce. Používá se hlavně k přepsání výchozího nastavení v aplikaci. Tento soubor se obvykle vytváří v adresáři WEB-INF / tříd v jakémkoli projektu Struts.
  2. soubor struts.properties: Tento soubor poskytuje mechanismus, který může změnit chování rámce. Protože aframework využívá řadu vlastností, které můžete podle svého požadavku změnit.

2. Akce

Akce nebo třídy akcí jsou základními koncepty v jakékoli aplikaci Struts 2, protože fungují jako řadič ve vzoru MVC. Jinými slovy třídy akcí obsahují obchodní logiku, která pomáhá při zpracování dat. Kromě toho je také odpovědná třída akcereagovat na žádost uživatelů, provádět obchodní logiku. Pomáhá také rámci při určování a vracení výsledku na základě konfiguračního souboru (struts.xml) zpět uživateli k vykreslení stránky Zobrazit.

Třídy akcí Stuts2 nejsou v přírodě singleton, tj. S každou žádostí bude vytvořena jedna instance této třídy. Proto nemusí být bezpečné pro vlákna a jsou jednoduché a nezávislé. Díky tomu je testování těchto tříd mnohem jednodušší.

Soubor akce lze vytvořit třemi způsoby, které jsou následující:

  • Jednoduchá akční třída
    Jako třídu akcí Struts 2 lze použít jakoukoli konkrétní třídu java, ale jediným požadavkem je, že třída musí obsahovat metodu execute () s návratovým typem String. Níže je uveden kód pro vytvoření jednoduché třídy akcí:
balíček com.edureka.struts2.action veřejná třída DemoAction {public String execute () {návrat 'Vítejte!' }}
  • Implementace akčního rozhraní
    Třídu Struts 2 Action lze také vytvořit implementací rozhraní com.opensymphony.xwork2.Action. Obsahuje jedinou metodu, tj. Execute (), kterou musí implementovat implementující třída. Implementací tohoto rozhraní můžete využít několik konstant, jako je SUCCESS, ERROR, NONE, INPUT a LOGIN, které lze použít pro stránky s výsledky.
    Níže uvedený kód ukazuje příklad stejného:
balíček com.edureka.struts2.action import com.opensymphony.xwork2.Action veřejná třída DemoAction implementuje akci {public String execute () {návrat ÚSPĚCH}}
  • Rozšíření třídy ActionSupport

Třídy akcí ve Struts 2 obecně rozšiřují třídu Action Support, což je výchozí implementace rozhraní Action. Poskytuje různé imperativní funkce pro vývoj webových aplikací, jako je ověření dat, zpráva na úrovni akce, chybová zpráva na úrovni akce, chybová zpráva na úrovni pole a přečtený zdroj atd.

Níže je implementace stejného:

balíček com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport veřejná třída DemoAction rozšiřuje ActionSupport {@Override public String execute () vyvolá výjimku {návrat ÚSPĚCH}}

3. Interceptory

Interceptor působí jako jeden z hlavních pilířů rámce Struts 2. Není to nic jiného než objektkterý je vyvolán během předzpracování a následného zpracování požadavku.Pomáhá při řízení a udržování plynulého přechodu cyklu požadavků a odpovědí.

Hlavní výhodou použití antiraket je, že je zapojitelná. Chci tím říci, že v případě, že již nepoužíváte konkrétní obavy jakoověření, zpracování výjimek, protokolování atd., můžete jej snadno odebrat z aplikace, aniž byste jej museli znovu nasadit. Vše, co musíte udělat, je smazat položku ze souboru struts.xml.

Rámec Struts2 poskytuje komplexní sadu předdefinovaných antiraket a běžných antiraket, které jsem uvedl v následující tabulce:

Interceptor Popis
alias To umožňuje, aby parametry měly různé aliasy jmen napříč požadavky uživatelů
zaškrtávací políčko To pomáhá při správě zaškrtávacích políček přidáním hodnoty parametru false pro zaškrtávací políčka nebyla zaškrtnuta
conversionError Toto umístí informace o chybě z převodu řetězců na typy parametrů do chyb pole akce
createSession Tím se implicitně vytvoří relace HTTP v případě, že neexistuje
ladění To poskytuje vývojářům různé obrazovky ladění
execAndWait To přenáší uživatele na zprostředkující čekající stránku, když je akce prováděna na pozadí
výjimka To mapuje výjimky, které jsou vyvolány z akce směrem k výsledku
nahrání souboru To usnadňuje snadné nahrávání souborů ve Struts 2
i18n To pomáhá sledovat zadané národní prostředí během relace uživatele
protokoly To poskytuje uživateli jednoduché protokolování generováním výstupu jako názvu prováděné akce
parametry To pomáhá při nastavení parametrů požadavku na akci
připravit Používá se k provádění předběžného zpracování
profil To umožňuje jednoduché profilování informací pro akce protokolování.
rozsah Toto ukládá a načítá stav akce během relace uživatele nebo rozsahu aplikace
ServletConfig To poskytuje povolení akce pro přístup k různým informacím založeným na servletu
časovač To poskytuje jednoduché profilovací informace
žeton To pomáhá při kontrole akce pro platný token, aby se zabránilo duplicitnímu odeslání formuláře
validace To poskytuje podporu ověřování pro různé akce

4. Zásobník hodnot

ValueStackv Struts2 je oblast úložiště, kde jsou uložena data celé aplikace pro zpracování požadavku. Tato data jsou uchovávána v rámciActionContextobjekty, které využíváThreadLocalpro načítání hodnot specifických pro jakékoli konkrétní vlákno požadavku klienta.

5. OGNL

OGNL znamená Object-Graph Navigation Language. Je to silný výrazový jazyk podobný JSP a většinou se používá proodkaz a manipulace s daty přítomnými v systému ValueStack. Kromě toho také pomáhá při přenosu a převodu typu dat.

Podobně jako JSP obsahuje OGNL kořenový objekt v kontextu aplikace. Můžete tedy poskytnout odkaz na výchozí objekt pomocí značkovací notace, která je v tomto případě označena pomocí libry. Rámec Struts 2 implementuje OGNL vytvořením mapy ActionContext. Níže jsem vypsal komponenty mapy ActionContext:

  • aplikace
  • Zasedání
  • Zásobník hodnot
  • Žádost
  • Parametry
  • Atributy

Tímto způsobem procházíte základy Struts 2. V další části tohoto článku o Struts 2 můžete přímo skočit do kódu a implementovat vše, co jste se dosud naučili.

jak vytvořit soubor loggeru v java

Výukový program Struts 2

Zde vytvořím jednoduchou aplikaci, kde budete muset zadat své jméno a aplikace vás přivítá. Níže je snímek obrazovky s úplnou strukturou projektu:

Jak vidíte, v tomto projektu budeme vytvářet 5 souborů, které jsou:

  1. HelloWorld.java
  2. index.jsp
  3. vítejte.jsp
  4. web.xml
  5. struts.xml

Poznámka: Před zahájením tohoto projektu se ujistěte, že již máte ve svém systému nainstalován Tomcat.

KROK I: V Eclipse přejděte na Soubor> Nový> Dynamický webový projekt. Zadejte název projektu a klikněte na New Runtime.

KROK II: Zde musíte vybrat verzi Apache Tomcat, kterou jste si stáhli do svého systému, a kliknout na Další.

KROK III: Dále klikněte na Procházet a přejděte do adresáře, kde byly uloženy závislosti Tomcat. Po dokončení klikněte na Dokončit a pokračujte ve vytváření projektu.

KROK IV: Nyní přidáme jarní soubory Struts, které budou vyžadovány pro úspěšné provedení tohoto projektu. Soubory JAR si můžete stáhnout z tady . Jakmile budete připraveni na soubory JAR, zkopírujte soubory JAR a vložte je pod WebContent> WEB-INF> lib.

KROK V: Nyní, když jsme připraveni na všechny konfigurace, umožňuje nastavit soubory kódu, počínaje HelloWorld.java. Za tímto účelem klikněte pravým tlačítkem na projekt> Nový> Třída. Vyplňte název balíčku a třídy a klikněte na dokončení.

KROK VI: Zadejte níže uvedený kód do pole HelloWorld.java soubor.

balíček com.edureka veřejná třída HelloWorld {private Název řetězce public String getName () {návratové jméno} public void setName (název řetězce) {this.name = name} public String execute () {návrat 'úspěch'}}

KROK VII: Dále vytvořte nový index.jsp soubor pod WebContent a zadejte následující kód:

 

KROK VIII: Nyní znovu vytvořte nový vítejte.jsp soubor pod WebContent a zadejte následující kód:

Vítejte:

KROK IX: Nyní přejděte na WebContent> WEB-INF a zadejte níže uvedený kód do web.xml soubor.

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

KROK X: Nakonec v části Prostředky Java> src vytvořte struts.xml soubor

vítejte.jsp

KROK XI: Nyní přejděte na index.jsp stránku a klikněte na ni pravým tlačítkem. Vyberte Spustit na serveru pro spuštění aplikace.

Tím se dostáváme na konec tohoto článku o kurzu Struts 2. Pokud se chcete o Javě dozvědět více, můžete se podívat na naši .

Nyní, když jste pochopili, co je Výukový program Struts 2, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými jávskými rámci, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „Výukový program Struts 2“ a my se vám ozveme co nejdříve.