Struts 2 pamoka - vieno langelio sprendimas pradedantiesiems



Šis straipsnis apie „Struts 2“ mokymo programą padės jums pradėti naudotis „Struts 2“ sistema kuriant J2EE žiniatinklio programas kartu su kodo demonstravimu.

Jei ieškote a tai gali padėti greitai ir efektyviai kurti JEE žiniatinklio programas, tada „Struts 2“ yra puikus sprendimas jums. Struts 2 yra atvirojo kodo sistema, kuri yra plačiai naudojama rinkoje. Per šią „Struts 2“ mokymo programą aš padėsiu jums pradėti ją naudoti kartu su praktiniu įgyvendinimu.

Toliau pateikiamos temos, kurias aptarsiu šioje „Struts“ pamokoje:





Kas yra statramsčiai?

Žodžiu, Strutsas yra a pagrindu veikianti atviro šaltinio sistema, padedanti kurti interneto programas J2EE. Taipratęsia ir reklamuoja modelį, vaizdą, valdiklį ( MVC ) architektūra.Tai leidžia žiniatinklio programoms sukurti tokias standartines technologijas kaipJSP, „JavaBeans“ ir XML yra labiau prižiūrimi, išplečiami ir lankstesni.

Iš pradžių „Struts Framework“ sukūrė Craigas McClanahanas ir 2000 m. Gegužės mėn. Jis buvo perduotas „Apache“ fondui. Palaipsniui jis užima aukščiausio lygio „Apache“ projekto poziciją 2005 m., O vėliau 2007 m. Vasario mėn. Statramsčiai 2 .



Struts sistema buvo plačiai pagrįsta MVC („Model-View-Controller“) dizaino paradigma. Pagrindinis jo tikslas buvo atskirti modelį nuo „View“ ir valdiklio programoje, siekiant sumažinti priklausomybę ir skatinti rūpesčių atskyrimą (SoC). Kitaip tariant, tai padėjo atskirti programų logiką, kuri daugiausia bendrauja su duomenų bazenuo per kurį vartotojas sąveikauja su programa ir egzemplioriumi, kuris padeda nukreipti informaciją tarp „Model“ ir „View“.

Struts 2 savybės

  1. POJO formos ir veiksmai :Struts veiksmo klasės programoje traktuojamos kaip valdiklis. Jie yra atsakingi už atsakymą į vartotojo veiksmus, verslo logikos vykdymą ir rezultato grąžinimą su vaizdu, kurį reikia pateikti. Tai taip pat veikia kaip „Model“ klasė.
  2. Patobulintos žymos ir pritaikymas: Struts 2 buvo įdiegta įvairių tipų žymų, tokių kaip vartotojo sąsajos, valdymo žymos, duomenų žymos ir kt., Kurios padeda kurti programas.
  3. AJAX funkcionalumas: Struts 2 palaiko ajax technologiją, kuri paprastai naudojama asinchroninei užklausai generuoti. Tai pagerina programos našumą siunčiant į serverį tik reikiamus lauko duomenis.
  4. Lengva integracija: Tai suteikia lengvą integraciją su kitomis žiniatinklio sistemomis, tokiomis kaip , DWR, „SiteMesh“ ir „Plytelės“.
  5. Minimalios konfigūracijos: Naudojant „Struts 2“ programą nereikia jokių papildomų konfigūracijų. Jis veikia su minimaliomis konfigūracijomis, kai dauguma nustatymų priima numatytąsias reikšmes, nebent yra kokių nors nukrypimų.
  6. Integruoti vaizdo technologijas: Naudodami „Struts2“ galite lengvai integruotis į įvairias vaizdo technologijas, tokias kaip XSLT, JSP, „Freemarker“, greitis ir kt.
  7. Tema ir šablonai: Struts 2 palaiko 3 tipų temas:
    1. Xhtml
    2. Paprasta
    3. Css_xhtml

Čia XHTML yra numatytoji „Struts 2“ tema ir dažniausiai naudojama bendram išvaizdai.

Dabar, kai žinote, kas yra „Struts“ ir įvairios jo funkcijos, dabar galite pereiti prie šio „Struts Tutorial“ straipsnio ir sužinoti apie jo architektūrą.



Architektūra

Struts Architecture - Struts 2 Tutorial - EdurekaKaip matote aukščiau pateiktoje diagramoje, „Struts“ naudoja aukšto lygio MVC architektūra . Čia „Struts2“ dispečerinės servleto filtras naudojamas valdikliui įgyvendinti, o veiksmai naudojami modeliui įgyvendinti, o rodinys - derinant rezultatų tipus ir rezultatus. Šioje architektūroje bendrą giją, susiejimą ir integravimą su kitais komponentais įgalina vertės krūva ir OGNL. Be to, žiniatinklio programų konfigūracijos kartu su veiksmais, sulaikytojais, rezultatais ir kt. Taip pat padeda nukreipti daug informacijos.

Leiskite man paaiškinti visą darbo eigą per vartotojo sugeneruotos užklausos gyvavimo ciklą. Toliau pateikiu žingsnis po žingsnio pateiktą darbo eigą, kad geriau suprastumėte, kaip veikia „Struts“:

  • Tai prasideda vartotojo užklausa, kuri siunčiama į serverį prašant kažkokio šaltinio.
  • Tada filtro dispečeris šią užklausą apdoroja, kad nustatytų tinkamą veiksmą.
  • Tada užklausai taikomos tinkamai sukonfigūruotos perėmimo funkcijos, tokios kaip patvirtinimas, failo įkėlimas ir kt.
  • Kai bus nuspręsta dėl pasirinkto veiksmo ir jis bus vykdomas pagal prašomą operaciją.
  • Tuo atveju, pasitelkiami bet kokie reikalingi tolesnio apdorojimo sukonfigūruoti perimėjai.
  • Galų gale rezultatą pateikia rodinys ir jis grąžinamas vartotojui.

Tikiuosi, kad tai pašalins „Struts“ programos darbo eigą. Dabar pamatysime, ko jums reikia sistemoje, kad galėtumėte pradėti naudoti „Struts“ kitame šios „Struts 2“ pamokos skyriuje

Aplinkos sąranka

Žemiau išvardijau pagrindinius dalykus, reikalingus norint pradėti naudotis „Struts 2“:

  • „Java“
    Jei jūsų sistemoje nėra įdiegta „Java“, galite kreiptis į „Java“ diegimas straipsnis.
  • Tomcat
    Jei sistemoje neturite „Tomcat“, galite apsilankyti čia nemokamai atsisiųsti.
  • IDE (pageidautina „Eclipse“)
    Galiausiai jums reikia jūsų Užtemimo IDE programų kūrimui.

Kai tai padarysite, esate pasiruošę sušlapti kojas. Kitame šios „Struts 2“ pamokos skyriuje pateiksiu trumpą informaciją apie pagrindines „Struts 2“ sąvokas.

Pagrindinės sąvokos

1. Konfigūracijos

Bet kurioje pagrindinėje programoje yra du pagrindiniai konfigūracijos failai:

  1. struts.xml failas: Šioje byloje yra informacija apiekonfigūracijos, kurios modifikuojamos kaip veiksmai. Jis daugiausia naudojamas numatytiems programos nustatymams pakeisti. Šis failas paprastai sukuriamas bet kurio „Struts“ projekto kataloge WEB-INF / class.
  2. struts.properties failas: Šis failas pateikia mechanizmą, kuris gali pakeisti sistemos elgesį. Kadangi asistema naudoja daugybę savybių, kurias galite pakeisti bet kurią iš savo reikalavimų.

2. Veiksmai

Veiksmai arba veiksmų klasės yra pagrindinės bet kurios „Struts 2“ programos sąvokos, nes jos veikia kaip valdiklis pagal MVC modelį. Kitaip tariant, Veiksmų klasėse yra verslo logika, kuri padeda apdoroti duomenis. Už tai taip pat atsakinga veiksmo klasėatsakymas į vartotojų užklausą, verslo logikos vykdymas. Tai taip pat padeda sistemai nustatyti ir grąžinti rezultatą pagal konfigūracijos failą (struts.xml) atgal vartotojui, kad būtų pateiktas peržiūros puslapis.

„Stuts2“ veiksmų klasės nėra vienkartinės, t. Y. Su kiekviena užklausa bus sukurtas vienas šios klasės egzempliorius. Taigi jie neturi būti saugūs siūlams ir yra paprasti bei nepriklausomi. Tai žymiai palengvina šių klasių testavimą.

Veiksmo failą galima sukurti trimis būdais:

  • Paprasta veiksmo klasė
    Bet kokia konkreti „Java“ klasė gali būti naudojama kaip „Struts 2“ veiksmo klasė, tačiau vienintelis reikalavimas yra tai, kad klasėje turi būti „execute“ () metodas su „String“ grąžinimo tipu. Žemiau yra kodas, skirtas sukurti paprastą veiksmo klasę:
paketas com.edureka.struts2.action public class DemoAction {public String execute () {return 'Sveiki!' }}
  • Veiksmo sąsajos įgyvendinimas
    Struts 2 Action klasė taip pat gali būti sukurta įdiegus sąsają com.opensymphony.xwork2.Action. Jame yra vienas metodas, ty vykdymas (), kurį turi įgyvendinti diegimo klasė. Įdiegę šią sąsają, galite pasinaudoti keliomis konstantomis, tokiomis kaip SĖKMĖ, KLAIDA, NĖRA, ĮVESTIS ir PRISIJUNGTI, kurias galima naudoti rezultatų puslapiuose.
    Žemiau esančiame kode pateikiamas to paties pavyzdys:
paketas com.edureka.struts2.action importuoti com.opensymphony.xwork2.Action viešoji klasė „DemoAction“ įgyvendina veiksmą {public String execute () {return SUCCESS}}
  • „ActionSupport“ klasės pratęsimas

2 struts veiksmo klasės paprastai praplečia „Action Support“ klasę, kuri yra numatytasis „Action“ sąsajos įgyvendinimas. Tai teikia įvairias būtinas žiniatinklio programų kūrimo funkcijas, tokias kaip duomenų patvirtinimas, veiksmo lygio pranešimas, klaidos pranešimas apie veiksmo lygį, lauko lygio klaidos pranešimas ir susietas skaitymo šaltinis ir kt.

Žemiau pateikiamas tas pats įgyvendinimas:

paketas com.edureka.struts2.action importuoti com.opensymphony.xwork2.ActionSupport viešąją klasę „DemoAction“ pratęsia „ActionSupport“ {@Override public String execute () meta išimtį {return SUCCESS}}

3. Perėmėjai

Interaktorius veikia kaip vienas pagrindinių „Struts 2“ sistemos ramsčių. Tai ne kas kitas, o daiktaskuri naudojama išankstinio ir vėlesnio prašymo apdorojimo metu.Tai padeda kontroliuoti ir palaikyti sklandų prašymų ir atsakymų ciklo perėjimą.

Pagrindinis perėmėjų naudojimo pranašumas yra tas, kad jis yra prijungiamas. Aš turiu omenyje tai, jei jūs nebeturite jokio konkretaus rūpesčio, pvzpatvirtinimo, išimčių tvarkymo, registravimo ir kt., galite lengvai jį pašalinti iš programos, neprireikdami jų iš naujo įdiegti. Tam tereikia ištrinti įrašą iš failo struts.xml.

Struts2 sistema pateikia išsamų iš anksto apibrėžtų perėmėjų ir bendrų perėmėjų kaminų rinkinį, kuriuos aš išvardinau žemiau esančioje lentelėje:

Perėmėjas apibūdinimas
slapyvardis Tai leidžia parametrams naudotojų užklausose turėti skirtingus vardų pseudonimus
žymimasis langelis Tai padeda tvarkyti žymimuosius laukelius, nes nebuvo pažymėta žymimųjų laukelių klaidinga parametro vertė
conversionError Tai klaidos informaciją konvertuojant eilutes į parametrų tipus įtraukiama į veiksmo lauko klaidas
createSession Tai netiesiogiai sukuria HTTP sesiją tuo atveju, jei jos nėra
derinimas Tai suteikia įvairius derinimo ekranus kūrėjui
execAndWait Tai perkelia vartotoją į tarpinį laukimo puslapį, kai veiksmas vykdomas fone
išimtis Tai žymi išimtis, kurios yra susijusios su veiksmu siekiant rezultato
Failo ikelimas Tai palengvina failų įkėlimą į „Struts 2“
i18n Tai padeda sekti nurodytą lokalę vartotojo seanso metu
rąstai Tai suteikia paprastą registravimą vartotojui sukuriant išvestį kaip vykdomo veiksmo pavadinimą
params Tai padeda nustatyti veiksmo užklausos parametrus
paruošti Tai naudojama išankstinio apdorojimo darbams atlikti
profilis Tai leidžia paprastą profiliavimo informaciją registruojant veiksmus.
taikymo sritį Tai saugo ir nuskaito veiksmo būseną per vartotojo seansą ar programos sritį
„ServletConfig“ Tai suteikia galimybę atlikti įvairią informaciją, pagrįstą servletais
laikmatis Tai suteikia paprastą profiliavimo informaciją
žetonas Tai padeda patikrinti veiksmą, ar nėra tinkamo prieigos rakto, kad būtų išvengta pasikartojančių formos pateikimų
patvirtinimas Tai teikia įvairių veiksmų patvirtinimo palaikymą

4. Vertės krūva

„ValueStack“Struts2 yra saugojimo sritis, kurioje saugomi visi programos duomenys užklausai apdoroti. Šie duomenys saugomi„ActionContext“objektai, kurie naudojasi„ThreadLocal“bet kuriai konkrečiai kliento užklausos gijai būdingų verčių gavimui.

5. OGNL

OGNL reiškia „Object-Graph Navigation Language“. Tai galinga išraiškos kalba, panaši į JSP ir dažniausiai naudojamanuoroda į „ValueStack“ esančius duomenis ir manipuliavimas jais. Be to, ji taip pat padeda perduoti ir konvertuoti duomenų tipą.

Panašiai kaip JSP, OGNL programos kontekste yra šakninis objektas. Taigi numatytojo objekto nuorodą galite pateikti naudodami žymėjimo žymėjimą, kuris šiuo atveju žymimas svaro simboliu. Struts 2 Framework įgyvendina OGNL sukurdamas „ActionContext“ žemėlapį. Žemiau išvardijau „ActionContext“ žemėlapio komponentus:

  • Taikymas
  • Sesija
  • Vertės krūva
  • Prašymas
  • Parametrai
  • Atributai

Su tuo jūs susipažinsite su Struts 2 pagrindais. Kitame šio Struts 2 straipsnio skyriuje galite tiesiogiai pereiti į kodą ir įgyvendinti viską, ko išmokote iki šiol.

kaip naudoti laukti ir pranešti java

Struts 2 mokymo programos demonstracija

Čia aš sukursiu paprastą programą, kur jums reikės įvesti savo vardą ir programa jus pasitiks. Žemiau pateikiama visos projekto struktūros ekrano kopija:

Kaip matote, šiame projekte sukursime 5 failus, kurie yra:

  1. HelloWorld.java
  2. rodyklė.jsp
  3. sveiki.jsp
  4. web.xml
  5. struts.xml

Pastaba: Prieš pradėdami šį projektą įsitikinkite, kad jūsų sistemoje jau įdiegta „Tomcat“.

I ŽINGSNIS: „Eclipse“ eikite į File> New> Dynamic Web Project. Įveskite projekto pavadinimą ir spustelėkite Naujas vykdymo laikas.

II ŽINGSNIS: Čia turite pasirinkti „Apache Tomcat“ versiją, kurią atsisiuntėte į savo sistemą, ir spustelėkite Pirmyn.

III ŽINGSNIS: Tada spustelėkite Naršyti ir eikite į katalogą, kuriame buvo išsaugotos „Tomcat“ priklausomybės. Baigę spustelėkite Baigti ir tęskite projekto kūrimą.

IV ŽINGSNIS: Dabar pridėkime „Struts“ stiklainio failus, kurie bus reikalingi sėkmingam šio projekto vykdymui. JAR galite atsisiųsti iš čia . Kai būsite pasirengę naudoti JAR failus, nukopijuokite JAR ir įklijuokite juos į „WebContent“> WEB-INF> lib.

V ŽINGSNIS: Dabar, kai būsime pasirengę visomis konfigūracijomis, galėsite nustatyti kodo failus, pradedant HelloWorld.java. Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite projektą> Nauja> Klasė. Užpildykite pakuotės ir klasės pavadinimą ir spustelėkite „Baigti“.

VI ŽINGSNIS: Įveskite žemiau esantį kodą HelloWorld.java failą.

paketas 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'}}

VII ŽINGSNIS: Tada sukurkite naują rodyklė.jsp failą skiltyje „WebContent“ ir įveskite žemiau esantį kodą:

 

VIII ŽINGSNIS: Dabar vėl sukurkite naują sveiki.jsp failą skiltyje „WebContent“ ir įveskite žemiau esantį kodą:

Sveiki:

IX ŽINGSNIS: Dabar eikite į „WebContent“> „WEB-INF“ ir įveskite žemiau esantį kodą web.xml failą.

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

X ŽINGSNIS: Galiausiai, skiltyje „Java“ ištekliai> src, sukurkite struts.xml failą

sveiki.jsp

XI ŽINGSNIS: Dabar eikite į rodyklė.jsp puslapį ir dešiniuoju pelės mygtuku spustelėkite jį. Norėdami paleisti programą, pasirinkite Vykdyti serveryje.

Taip pateksime į šio straipsnio „Struts 2 Tutorial“ pabaigą. Jei norite sužinoti daugiau apie „Java“, galite kreiptis į mūsų .

Dabar, kai supratote, kas yra „Struts 2“ pamoka, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka“ mokymai ir sertifikavimo kursai „Java J2EE“ ir „SOA“ skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žaisti „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio straipsnio „Struts 2 Tutorial“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.