Tutorial Struts 2 - Soluție One Stop pentru începători



Acest articol despre Tutorial Struts 2 vă va ajuta să începeți cu cadrul Struts 2 pentru dezvoltarea aplicațiilor web J2EE împreună cu demonstrarea codului.

Dacă sunteți în căutarea unui care vă poate ajuta în dezvoltarea de aplicații web JEE rapid și eficient, atunci Struts 2 este soluția perfectă pentru dvs. Struts 2 este un cadru open-source care este foarte utilizat pe piață. Prin acest tutorial Struts 2, vă voi ajuta să începeți cu el împreună cu implementări practice.

Mai jos sunt subiectele pe care le voi discuta în acest tutorial Struts:





Ce este Struts?

În termeni laici, Struts este un - cadru open source care ajută la dezvoltarea aplicațiilor web în J2EE. Aceastaextinde și promovează modelul, vizualizarea, controlorul ( MVC ) arhitectură.Acest lucru face ca aplicațiile web dezvoltate în tehnologii standard precumJSP, JavaBeans și XML, mai ușor de întreținut, extensibil și flexibil.

Struts Framework a fost dezvoltat inițial de Craig McClanahan și a fost predat Apache Foundation în mai 2000. Treptat, surprinde poziția unui proiect Apache de nivel superior în 2005 și mai târziu în februarie 2007, a fost înlocuit cu Struts 2 .



Struts Framework s-a bazat pe larg pe MVC (Model-Vizualizare-Controler) paradigma de proiectare. Scopul său principal a fost de a separa modelul de vizualizare și controler în aplicație pentru a reduce dependența și a promova separarea preocupărilor (SoC). Cu alte cuvinte, a ajutat la separarea logicii aplicației care comunică în principal cu baza de datede la prin care utilizatorul interacționează cu aplicația și instanța care ajută la canalizarea informațiilor între model și vizualizare.

Caracteristicile Struts 2

  1. Forme și acțiuni bazate pe POJO :Clasele de acțiune din Struts sunt tratate ca controler în aplicație. Aceștia sunt responsabili de a răspunde la o acțiune a utilizatorului, de a executa logica de afaceri și de a returna un rezultat cu vizualizarea care trebuie redată. Acționează și ca clasă Model.
  2. Etichete și personalizare îmbunătățite: Au fost introduse diferite tipuri de etichete în Struts 2, cum ar fi etichetele UI, etichetele de control, etichetele de date etc., care ajută la dezvoltarea aplicației.
  3. Funcționalitatea AJAX: Struts 2 acceptă tehnologia ajax, care este de obicei utilizată pentru generarea unei cereri asincrone. Îmbunătățește performanța aplicației trimițând numai datele de câmp necesare către server.
  4. Integrare ușoară: Oferă o integrare ușoară cu alte cadre web, cum ar fi , DWR, SiteMesh și Tiles.
  5. Configurări minime: În timp ce utilizați aplicația Struts 2, nu sunt necesare configurații generale. Funcționează cu configurații minime în care majoritatea setărilor iau valorile implicite, cu excepția cazului în care există vreo abatere.
  6. Integrarea tehnologiilor de vizualizare: Cu Struts2, vă puteți integra cu ușurință cu diverse tehnologii de vizualizare, cum ar fi XSLT, JSP, Freemarker, speed etc.
  7. Tema și șabloane: Struts 2 oferă suport pentru 3 tipuri de teme:
    1. Xhtml
    2. Simplu
    3. Css_xhtml

Aici XHTML este tema implicită pentru Struts 2 și este utilizat în principal pentru aspectul obișnuit.

Acum, că știți ce este Struts și diferitele sale caracteristici, permiteți-vă să continuați cu acest articol Tutorial Struts și să aflați despre arhitectura sa.



Arhitectură

Struts Architecture - Tutorial Struts 2 - EdurekaDupă cum puteți vedea în diagrama de mai sus, Struts folosește nivel înalt Arhitectura MVC . Aici, filtrul de servlet de expediere Struts2 este utilizat pentru a implementa controlerul, în timp ce acțiunile sunt utilizate pentru a implementa modelul, iar vizualizarea este implementată prin combinarea tipurilor de rezultate și a rezultatelor. În această arhitectură, firul comun, legătura și integrarea cu alte componente sunt activate de stiva de valori și OGNL. În plus, configurațiile pentru aplicațiile web împreună cu acțiunile, interceptorii, rezultatele etc. ajută, de asemenea, la canalizarea multor informații.

Acum, permiteți-mi să explic fluxul de lucru complet în timpul ciclului de viață al unei cereri generate de utilizator. Mai jos am enumerat fluxul de lucru pas cu pas pentru o mai bună înțelegere a modului în care funcționează Struts:

  • Începe cu cererea utilizatorului care este trimisă la server pentru solicitarea unei resurse.
  • Această solicitare este apoi procesată de Dispeceratul filtrului pentru a determina acțiunea corespunzătoare.
  • În plus, funcționalitățile interceptorului configurate corespunzător sunt apoi aplicate cererii, cum ar fi validarea, încărcarea fișierelor etc.
  • Odată ce Acțiunea selectată este decisă și executată pe baza operației solicitate.
  • În cazul în care se solicită orice post-procesare, interceptorii configurați.
  • În cele din urmă, rezultatul este furnizat de vizualizare și este returnat utilizatorului.

Sper că acest lucru șterge fluxul de lucru în cadrul unei aplicații Struts. Să vedem acum de ce aveți nevoie în sistemul dvs. pentru a începe să utilizați Struts în următoarea secțiune a acestui tutorial Struts 2

Configurare mediu

Mai jos am enumerat necesitățile de bază pentru a începe cu Struts 2:

  • Java
    În cazul în care nu aveți instalat Java pe sistemul dvs., puteți consulta Instalare Java articol.
  • Motan
    Dacă nu aveți Tomcat în sistem, puteți vizita Aici pentru descărcare gratuită.
  • IDE (de preferință Eclipse)
    În cele din urmă, aveți nevoie de dvs. Eclipse IDE pentru dezvoltarea aplicațiilor.

După ce ați terminat, sunteți gata să vă udați picioarele cu Struts. În următoarea secțiune a acestui tutorial Struts 2, vă voi oferi un rezumat asupra conceptelor fundamentale ale Struts 2.

Concepte fundamentale

1. Configurări

În orice aplicație struts există două fișiere de configurare principale:

  1. fișier struts.xml: Acest fișier conține informațiile referitoare laconfigurație care sunt modificate ca acțiuni. Este utilizat în principal pentru suprascrierea setărilor implicite într-o aplicație. Acest fișier este creat în general în directorul WEB-INF / classes din orice proiect Struts.
  2. fișier struts.properties: Acest fișier oferă un mecanism care poate modifica comportamentul cadrului. Din moment ce aframework folosește o serie de proprietăți pe care le puteți schimba conform cerințelor dvs.

2. Acțiuni

Acțiunile sau clasele de acțiune sunt conceptele de bază în orice aplicație Struts 2, deoarece acționează ca controler în modelul MVC. Cu alte cuvinte, clasele de acțiune conțin logica de afaceri care ajută la procesarea datelor. În afară de aceasta, clasa de acțiune este, de asemenea, responsabilă pentrurăspunzând la o cerere a utilizatorilor, executând logica afacerii. De asemenea, ajută cadrul să determine și să returneze un rezultat pe baza fișierului de configurare (struts.xml), înapoi la utilizator pentru redarea paginii Vizualizare.

Clasele de acțiuni Stuts2 nu au un caracter unic, adică o instanță a acestei clase va fi creată cu fiecare cerere. Astfel, nu trebuie să fie siguri pentru fire și sunt simple și independente. Acest lucru face testarea acestor clase mult mai ușoară.

Un fișier de acțiune poate fi creat în trei moduri, care sunt după cum urmează:

  • Clasa de acțiune simplă
    Orice clasă de beton java poate fi utilizată ca clasă de acțiune Struts 2, dar singura cerință este ca clasa să conțină o metodă execute () cu tipul de returnare String. Mai jos este codul pentru a crea o clasă de acțiune simplă:
package com.edureka.struts2.action public class DemoAction {public String execute () {return 'Bun venit!' }}
  • Implementarea interfeței de acțiune
    O clasă de acțiuni Struts 2 poate fi creată și prin implementarea interfeței com.opensymphony.xwork2.Action. Conține o singură metodă, adică execute (), care trebuie implementată de clasa de implementare. Prin implementarea acestei interfețe puteți utiliza mai multe constante, cum ar fi SUCCESS, ERROR, NONE, INPUT și LOGIN care pot fi utilizate pentru paginile de rezultate.
    Codul de mai jos prezintă un exemplu pentru același lucru:
pachet com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementează Acțiune {public String execute () {return SUCCESS}}
  • Extinderea clasei ActionSupport

Clasele de acțiune din Struts 2 extind în general clasa Acțiune de asistență, care este implementarea implicită a interfeței Acțiune. Oferă diverse funcționalități imperative pentru dezvoltarea aplicației web, cum ar fi validarea datelor, mesajul la nivel de acțiune, mesajul de eroare la nivel de acțiune, mesajul de eroare la nivel de câmp și resursele de citire grupate etc.

Mai jos este implementarea aceluiași:

package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction extinde ActionSupport {@Override public String execute () throws Exception {return SUCCESS}}

3. Interceptori

Interceptorul acționează ca unul dintre pilonii principali ai cadrului Struts 2. Nu este altceva decât un obiectcare este invocată în timpul preprocesării și postprocesării unei cereri.Ajută la controlul și menținerea tranziției linii a ciclului de solicitare și răspuns.

Principalul avantaj al utilizării interceptorilor este că este conectabil. Ceea ce vreau să spun este că, în cazul în care nu mai folosiți o anumită preocupare de genulvalidare, gestionarea excepțiilor, înregistrarea în jurnal etc., puteți să o eliminați cu ușurință din aplicație fără a fi nevoie să o redistribuiți. Pentru aceasta, tot ce trebuie să faceți este să ștergeți intrarea din fișierul struts.xml.

Cadrul Struts2 oferă un set cuprinzător de interceptori predefiniți și stive comune de interceptori pe care le-am enumerat în tabelul de mai jos:

Interceptor Descriere
alias Acest lucru permite parametrilor să aibă aliasuri de nume diferite între cererile utilizatorilor
Caseta de bifat Acest lucru ajută la gestionarea casetelor de selectare prin adăugarea unei valori de parametru false pentru casetele de selectare care nu a fost bifată
conversionError Aceasta plasează informațiile despre erori din conversia șirurilor în tipuri de parametri în cadrul erorilor de câmp ale acțiunii
createSession Acest lucru creează implicit o sesiune HTTP în cazul în care una nu există
depanare Aceasta oferă dezvoltatorului diverse ecrane de depanare
execAndWait Aceasta transferă utilizatorul către o pagină de așteptare intermediară atunci când acțiunea este executată în fundal
excepție Aceasta mapează excepțiile care sunt aruncate de la acțiune către un rezultat
fișier încărcat Acest lucru facilitează încărcarea ușoară a fișierelor în Struts 2
i18n Acest lucru vă ajută să țineți evidența localizărilor specificate în timpul sesiunii unui utilizator
busteni Aceasta oferă utilizatorului o înregistrare simplă prin generarea rezultatului ca numele acțiunii care se execută
params Acest lucru ajută la setarea parametrilor solicitării acțiunii
a pregati Aceasta este utilizată pentru a efectua lucrări de pre-procesare
profil Acest lucru permite informații de profil simple pentru acțiuni de înregistrare.
scop Aceasta stochează și recuperează starea acțiunii în timpul sesiunii de utilizator sau al aplicației
ServletConfig Acest lucru permite acțiunii să acceseze diverse informații bazate pe servlet
temporizator Aceasta oferă informații simple de profilare
jeton Acest lucru ajută la verificarea acțiunii pentru un jeton valid, pentru a preveni trimiterile de formulare duplicate
validare Aceasta oferă suport pentru validare pentru diferite acțiuni

4. Stiva de valoare

ValueStackîn Struts2 este zona de stocare în care datele întregii aplicații sunt stocate pentru procesarea unei cereri. Aceste date sunt păstrate în cadrulActionContextobiecte care utilizeazăThreadLocalpentru recuperarea valorilor specifice oricărui fir de cerere specific client.

5. OGNL

OGNL înseamnă Object-Graph Navigation Language. Este un limbaj de expresie puternic asemănător cu JSP și este folosit mai ales pentrureferință și manipulare a datelor prezente în ValueStack. Mai mult, ajută și la transferul și conversia tipului de date.

Similar cu JSP, OGNL conține un obiect rădăcină în contextul aplicației. Astfel, puteți furniza referința obiectului implicit folosind notația de marcare care, în acest caz, este notată folosind simbolul lirei. Struts 2 framework implementează OGNL prin construirea unei hărți ActionContext. Mai jos am enumerat componentele hărții ActionContext:

  • Cerere
  • Sesiune
  • Stivă de valori
  • Cerere
  • Parametrii
  • Atribute

Cu aceasta, treceți prin elementele de bază ale Struts 2. În următoarea secțiune a acestui articol Struts 2 vă permite să intrați direct în cod și să implementați tot ce ați învățat până acum.

variabilă de exemplu în exemplu java

Struts 2 Tutorial Demo

Aici voi crea o aplicație simplă în care trebuie să introduceți numele dvs. și aplicația vă va întâmpina. Mai jos este captura de ecran a structurii complete a proiectului:

După cum puteți vedea, în acest proiect vom crea 5 fișiere care sunt:

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

Notă: Înainte de a începe acest proiect, asigurați-vă că aveți deja instalat Tomcat pe sistemul dvs.

PASUL I: În Eclipse, accesați Fișier> Nou> Proiect web dinamic. Introduceți numele proiectului și faceți clic pe Runtime nou.

PASUL II: Aici trebuie să selectați versiunea de Apache Tomcat pe care ați descărcat-o pe sistemul dvs. și să faceți clic pe Următorul.

PASUL III: Apoi, faceți clic pe Răsfoiți și navigați la directorul în care au fost salvate dependențele Tomcat. După ce ați terminat, faceți clic pe Finalizare și continuați cu crearea proiectului.

PASUL IV: Să adăugăm acum fișierele jar Struts, care vor fi necesare pentru executarea cu succes a acestui proiect. Puteți descărca JAR-urile de pe Aici . După ce sunteți gata cu fișierele JAR, copiați JAR-urile și lipiți-le în WebContent> WEB-INF> lib.

PASUL V: Acum, că suntem gata cu toate configurațiile, permiteți configurarea fișierelor de cod, începând cu HelloWorld.java. Pentru aceasta, faceți clic dreapta pe proiect> Nou> Clasă. Completați numele pachetului și clasei și faceți clic pe finisare.

PASUL VI: Introduceți codul de mai jos în HelloWorld.java fişier.

pachet com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

PASUL VII: Apoi creați un nou index.jsp în WebContent și introduceți codul de mai jos:

 

PASUL VIII: Acum, creați din nou un nou bun venit.jsp în WebContent și introduceți codul de mai jos:

Bine ati venit:

PASUL IX: Acum accesați WebContent> WEB-INF și tastați codul de mai jos în web.xml fişier.

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

PASUL X: În cele din urmă, sub Java Resurse> src, creați struts.xml fişier

bun venit.jsp

PASUL XI: Acum du-te la index.jsp pagină și faceți clic dreapta pe ea. Selectați Run on Server pentru a executa aplicația.

Acest lucru ne duce la sfârșitul acestui articol despre Struts 2 Tutorial. Dacă doriți să aflați mai multe despre Java, vă puteți referi la .

Acum că ați înțeles ce este un tutorial Struts 2, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să menționați acest lucru în secțiunea de comentarii a acestui articol „Tutorial Struts 2” și vă vom contacta cât mai curând posibil.