Struts 2 Tutorial - Isang Stop Solution para sa Mga Nagsisimula



Ang artikulong ito sa Struts 2 Tutorial ay makakatulong sa iyo sa pagsisimula sa balangkas ng Struts 2 para sa pagbuo ng mga aplikasyon ng web ng J2EE kasama ang pagpapakita ng code.

Kung naghahanap ka ng a na makakatulong sa iyo sa pagbuo ng mga web application ng JEE nang mabilis at mahusay, pagkatapos ang Struts 2 ay ang perpektong solusyon para sa iyo. Ang Struts 2 ay isang balangkas na bukas na mapagkukunan na labis na ginagamit sa merkado. Sa pamamagitan ng Struts 2 Tutorial na ito, tutulungan kita na magsimula dito kasama ang mga praktikal na pagpapatupad.

Nasa ibaba ang mga paksang tatalakayin ko sa Struts tutorial na ito:





Ano ang Struts?

Sa mga termino ng layman, ang Struts ay isang -based open-sourced framework na makakatulong sa pagbuo ng web application sa J2EE. Itopinahaba ang at nagtataguyod ng Model, View, Controller ( MVC ) arkitektura.Ginagawa nitong ang mga web application na binuo sa karaniwang mga teknolohiya tuladAng JSP, JavaBeans, at XML, mas mapapanatili, maipalawak, at may kakayahang umangkop.

Ang Struts Framework ay paunang binuo ni Craig McClanahan at ipinasa sa Apache Foundation noong Mayo 2000. Unti-unti, nakuha nito ang posisyon ng isang nangungunang antas ng proyekto ng Apache noong 2005 at kalaunan noong Pebrero 2007, pinalitan ito ng Struts 2 .



Ang Struts Framework ay malawakan batay sa MVC (Model-View-Controller) tularan ng disenyo. Ang pangunahing layunin nito ay paghiwalayin ang Modelo mula sa View at Controller sa aplikasyon upang mabawasan ang pagtitiwala at itaguyod ang Paghihiwalay ng Mga Alalahanin (SoC). Sa madaling salita, nakatulong ito sa paghihiwalay ng application lohika na higit sa lahat nakikipag-usap sa databasegaling sa kung saan nakikipag-ugnay ang gumagamit sa application at halimbawa na tumutulong sa pag-channel ng impormasyon sa pagitan ng Model at View.

Mga Tampok ng Struts 2

  1. Batay sa POJO batay sa mga form at pagkilos :Ang mga klase sa pagkilos sa Struts ay ginagamot bilang tagapamahala sa application. Responsable sila para sa pagtugon sa isang pagkilos ng gumagamit, pagpapatupad ng lohika sa negosyo, at pagbabalik ng isang resulta sa view na dapat ibigay. Gumaganap ito bilang modelo ng Modelo din.
  2. Pinahusay na Mga Tag at Pagpapasadya: Ang iba't ibang mga uri ng mga tag ay ipinakilala sa Struts 2 tulad ng mga UI tag, control tag, Data tag, atbp na tumutulong sa pag-unlad ng application.
  3. Pag-andar ng AJAX: Sinusuportahan ng Struts 2 ang ajax na teknolohiya na karaniwang ginagamit para sa pagbuo ng isang hindi kasabay na kahilingan. Ginagawa nitong pinahuhusay ang pagganap ng application sa pamamagitan ng pagpapadala lamang ng kinakailangang data ng patlang sa server.
  4. Madaling Pagsasama: Nagbibigay ito ng madaling pagsasama sa iba pang mga framework ng Web tulad ng , DWR, SiteMesh at Tile.
  5. Minimal na mga pagsasaayos: Habang gumagamit ng application ng Struts 2, walang kinakailangang mga pagsasaayos ng overhead. Gumagana ito sa kaunting mga pagsasaayos kung saan ang karamihan sa mga setting ay kumukuha ng mga default na halaga maliban kung mayroong anumang paglihis.
  6. Isama ang Mga Teknolohiya ng View: Sa Struts2, madali mong maisasama sa iba't ibang mga teknolohiya sa pagtingin tulad ng XSLT, JSP, Freemarker, tulin, atbp.
  7. Tema at Mga Template: Nagbibigay ng suporta ang Struts 2 sa 3 uri ng mga tema:
    1. Xhtml
    2. Simple
    3. Css_xhtml

Narito ang XHTML ay ang default na tema para sa Struts 2 at pangunahing ginagamit para sa karaniwang hitsura at pakiramdam.

Ngayon na alam mo kung ano ang Struts at iba't ibang mga tampok nito, hinahayaan na ngayong magpatuloy sa artikulong Struts Tutorial na ito at alamin ang tungkol sa arkitektura nito.



Arkitektura

Struts Architecture - Struts 2 Tutorial - EdurekaTulad ng nakikita mo sa diagram sa itaas, ang Struts ay gumagamit ng mataas na antas Arkitektura ng MVC . Dito ginagamit ang Struts2 dispatch servlet filter upang ipatupad ang Controller habang ginagamit ang mga pagkilos upang ipatupad ang Model at ipinatupad ang View sa pamamagitan ng pagsasama ng mga uri ng resulta at resulta. Sa arkitekturang ito, ang karaniwang thread, pag-uugnay, at pagsasama sa iba pang mga bahagi ay pinagana ng stack ng halaga at OGNL. Sa itaas nito, ang mga pagsasaayos para sa mga web application kasama ang mga pagkilos, interceptor, resulta, atbp ay tumutulong din sa pag-channel ng maraming impormasyon.

Ngayon, hayaan mo akong ipaliwanag ang kumpletong daloy ng trabaho sa panahon ng pag-ikot ng buhay ng isang kahilingan na nabuo ng gumagamit. Sa ibaba ay nakalista ko ang sunud-sunod na daloy ng trabaho para sa iyong mas mahusay na pag-unawa sa kung paano gumagana ang Struts:

  • Nagsisimula ito sa kahilingan ng User na ipinadala sa server para sa paghingi ng ilang mapagkukunan.
  • Ang kahilingang ito ay pinoproseso ng Filter Dispatcher upang matukoy ang naaangkop na Pagkilos.
  • Dagdag dito, maayos na na-configure na mga pag-andar ng interceptor ay inilalapat sa kahilingan tulad ng pagpapatunay, pag-upload ng file, atbp.
  • Kapag napili ang napiling Pagkilos at naisakatuparan ito batay sa hiniling na operasyon.
  • Kung sakali, ang anumang kinakailangang post-processing, na-configure na mga interceptor ay tinawag.
  • Sa huli, ang resulta ay ibinibigay ng pagtingin at ibinalik sa gumagamit.

Inaasahan kong nililimas nito ang daloy ng trabaho sa loob ng isang application na Struts. Hayaan ngayon makita kung ano ang lahat ng kailangan mo sa iyong system upang makapagsimula sa Struts sa susunod na seksyon ng Struts 2 Tutorial na ito

Pag-setup ng Kapaligiran

Sa ibaba ay nakalista ko ang mga pangunahing pangangailangan upang makapagsimula sa Struts 2:

  • Java
    Kung sakaling wala kang naka-install na Java sa iyong system, maaari kang sumangguni sa Pag-install ng Java artikulo
  • Tomcat
    Kung wala kang Tomcat sa iyong system, maaari kang bumisita dito para sa libreng pag-download.
  • IDE (mas mabuti ang Eclipse)
    Panghuli, kailangan mo ng iyong Eclipse IDE para sa pagpapaunlad ng aplikasyon.

Kapag tapos na, handa ka nang mabasa ang iyong mga paa sa Struts. Sa susunod na seksyon ng Struts 2 Tutorial na ito, bibigyan kita ng isang maikling tungkol sa pangunahing mga konsepto ng Struts 2.

Pangunahing mga konsepto

1. Mga pagsasaayos

Sa anumang, struts application mayroong dalawang pangunahing mga file ng pagsasaayos:

  1. struts.xml file: Ang file na ito ay nagtataglay ng impormasyon hinggil sapagsasaayos na binago bilang mga pagkilos. Pangunahin itong ginagamit para sa pag-override ng mga default na setting sa isang application. Ang file na ito sa pangkalahatan ay nilikha sa loob ng direktoryo ng WEB-INF / mga klase sa anumang proyekto ng Struts.
  2. file ng struts.properties: Ang file na ito ay nagbibigay ng isang mekanismo na maaaring baguhin ang pag-uugali ng balangkas. Dahil aBalangkas ay gumagamit ng isang bilang ng mga pag-aari maaari mong baguhin ang anuman sa mga ito ayon sa iyong kinakailangan.

2. Mga kilos

Ang Mga Pagkilos o Mga Klase ng Aksyon ay ang pangunahing mga konsepto sa anumang application ng Struts 2, dahil kumikilos sila bilang tagakontrol sa pattern ng MVC. Sa madaling salita, naglalaman ang mga klase ng pagkilos ng lohika sa negosyo na makakatulong sa pagproseso ng data. Maliban dito, responsable din ang klase ng pagkilospagtugon sa isang kahilingan ng mga gumagamit, pagpapatupad ng lohika sa negosyo. Tinutulungan din nito ang balangkas sa pagtukoy at pagbabalik ng isang resulta sa batayan ng file ng pagsasaayos (struts.xml), pabalik sa gumagamit para sa pag-render ng pahina ng Tingnan.

Ang mga klase ng pagkilos na Stuts2 ay hindi likas na singleton ibig sabihin ang isang halimbawa ng klase na ito ay malilikha sa bawat kahilingan. Sa gayon hindi nila kailangang maging ligtas sa thread at simple at malaya. Ginagawa nitong mas madali ang pagsubok sa mga klase.

Ang isang file ng pagkilos ay maaaring malikha sa tatlong paraan, na kung saan ay ang mga sumusunod:

  • Simpleng Klase ng Pagkilos
    Ang anumang kongkretong klase ng java ay maaaring magamit bilang isang kilos na aksyon ng Struts 2 ngunit ang tanging kinakailangan ay ang klase ay dapat maglaman ng isang paraan ng pagpapatupad () na may uri ng String return. Nasa ibaba ang code upang lumikha ng isang simpleng Class ng Pagkilos:
package com.edureka.struts2.action public class DemoAction {public String execute () {return 'Welcome!' }}
  • Pagpapatupad ng interface ng Aksyon
    Ang isang Struts 2 Action class ay maaari ring likhain sa pamamagitan ng pagpapatupad ng com.opensymphony.xwork2. Interface ng Aksyon. Naglalaman ito ng isang solong pamamaraan ibig sabihin, () na dapat ipatupad ng nagpapatupad na klase. Sa pamamagitan ng pagpapatupad ng interface na ito maaari kang gumawa ng paggamit ng maraming mga Constant tulad ng SUCCESS, ERROR, NONE, INPUT at LOGIN na maaaring magamit para sa mga pahina ng resulta.
    Ipinapakita ng code sa ibaba ang isang halimbawa para sa pareho:
package com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction nagpapatupad ng Aksyon {public String execut () {return SUCCESS}}
  • Pagpapalawak ng Klase ng AksyonSupport

Ang mga klase sa pagkilos sa Struts 2 sa pangkalahatan ay nagpapalawak ng klase ng Suporta sa Aksyon na kung saan ay ang default na pagpapatupad ng interface ng Pagkilos. Nagbibigay ito ng iba't ibang mga kinakailangang pag-andar para sa pagbuo ng web application tulad ng pagpapatunay ng data, mensahe sa antas ng pagkilos, mensahe ng error sa antas ng pagkilos, mensahe ng error sa antas ng antas at basahin ang mapagkukunan, atbp.

Nasa ibaba ang pagpapatupad ng pareho:

package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport pampublikong klase DemoAction nagpapalawak ng ActionSupport {@Override public String execut () nagtatapon ng Exception {return SUCCESS}}

3. Mga Humahadlang

Ang interceptor ay kumikilos bilang isa sa mga pangunahing haligi ng balangkas ng Struts 2. Ito ay walang anuman kundi isang bagayna tinawag sa panahon ng preprocessing at postprocessing ng isang kahilingan.Nakakatulong ito sa pagkontrol at pagpapanatili ng maayos na paglipat ng cycle ng kahilingan at tugon.

Ang pangunahing bentahe ng paggamit ng mga interceptors ay na ito ay nasusugat. Ang ibig kong sabihin ay, kung sakaling wala ka nang anumang paggamit ng isang tukoy na pag-aalala tuladpagpapatunay, paghawak ng pagbubukod, pag-log, atbp., maaari mong madaling alisin ito mula sa application nang hindi na kinakailangang muling gawin ito. Para sa mga ito, ang kailangan mo lang gawin ay tanggalin ang entry mula sa struts.xml file.

Ang balangkas ng Struts2 ay nagbibigay ng isang komprehensibong hanay ng paunang natukoy na mga interceptor at karaniwang mga stack ng interceptor na nakalista ko sa talahanayan sa ibaba:

Humahadlang Paglalarawan
alyas Pinapayagan nito ang mga parameter na magkaroon ng magkakaibang mga alias ng pangalan sa mga kahilingan ng gumagamit
checkbox Nakakatulong ito sa pamamahala ng mga checkbox sa pamamagitan ng pagdaragdag ng isang parameter na halaga ng hindi totoo para sa mga checkbox na hindi pa nasuri
conversionError Inilalagay nito ang impormasyon ng error mula sa pag-convert sa Mga string sa mga uri ng parameter sa loob ng mga error sa patlang ng pagkilos
createSession Implicitong lumilikha ito ng isang sesyon ng HTTP kung sakaling wala ang isa
pag-debug Nagbibigay ito ng iba't ibang mga screen ng pag-debug sa developer
execAndWait Inililipat nito ang gumagamit sa isang pahina ng paghihintay ng tagapamagitan kapag ang aksyon ay isinasagawa sa background
pagbubukod Ini-map nito ang mga pagbubukod na itinapon mula sa pagkilos patungo sa isang resulta
fileUpload Pinapadali nito ang madaling pag-upload ng file sa Struts 2
i18n Nakakatulong ito sa pagsubaybay sa tinukoy na lokal habang session ng isang gumagamit
mga troso Nagbibigay ito ng simpleng pag-log sa gumagamit sa pamamagitan ng pagbuo ng output bilang pangalan ng aksyon na isinasagawa
params Nakakatulong ito sa pagtatakda ng mga parameter ng kahilingan sa pagkilos
maghanda Ginagamit ito upang maisagawa ang gawaing paunang pagproseso
profile Pinapayagan nito ang simpleng impormasyon sa pag-profile para sa mga pagkilos sa pag-log.
saklaw Iniimbak at kinukuha nito ang estado ng pagkilos habang nasa session ng gumagamit o saklaw ng application
ServletConfig Nagbibigay ito ng mga pahintulot sa pagkilos upang ma-access ang iba't ibang impormasyon na nakabatay sa servlet
timer Nagbibigay ito ng simpleng impormasyon sa pagtatala
token Nakakatulong ito sa pag-check sa pagkilos para sa isang wastong token upang maiwasan ang mga pagsumite ng dobleng form
pagpapatunay Nagbibigay ito ng suporta sa pagpapatunay para sa iba't ibang mga pagkilos

4. Value Stack

ValueStacksa Struts2 ay ang lugar ng pag-iimbak kung saan nakaimbak ang buong data ng application para sa pagproseso ng isang kahilingan. Ang data na ito ay gaganapin sa loob ngActionContextmga bagay na gumagamit ngLokal na Threadpara sa pagkuha ng mga halagang natukoy sa anumang tukoy na thread ng kahilingan ng client.

5. OGNL

Ang OGNL ay nangangahulugang Wika ng Pag-navigate sa Object-Graph. Ito ay isang malakas na wika ng ekspresyon katulad ng JSP at kadalasang ginagamit para sasanggunian at pagmamanipula ng data na naroroon sa ValueStack. Bukod dito, tumutulong din ito sa paglilipat at pag-convert ng uri ng data.

Katulad ng JSP, ang OGNL ay naglalaman ng isang ugat na bagay sa loob ng konteksto ng aplikasyon. Sa gayon, maaari mong ibigay ang sanggunian ng default na bagay gamit ang markup notation na sa kasong ito ay tinukoy gamit ang pound na simbolo. Ang struts 2 na balangkas ay nagpapatupad ng OGNL sa pamamagitan ng pagbuo ng isang mapa ng ActionContext. Sa ibaba ay nakalista ko ang mga bahagi ng mapa ng ActionContext:

  • Paglalapat
  • Session
  • Value stack
  • Hiling
  • Mga Parameter
  • Mga Katangian

Sa pamamagitan nito, dumadaan ka sa mga pangunahing kaalaman ng Struts 2. Sa susunod na seksyon ng artikulong Struts 2 na ito ay hinahayaan na direktang tumalon sa code at ipatupad ang lahat ng iyong natutunan hanggang ngayon.

ano ang applet sa java na may halimbawa

Struts 2 Tutorial Demo

Dito ay lumilikha ako ng isang simpleng application kung saan kailangan mong i-input ang iyong pangalan at malugod ka ng application. Nasa ibaba ang screenshot ng kumpletong istraktura ng proyekto:

Tulad ng nakikita mo, sa proyektong ito lilikha kami ng 5 mga file na:

  1. HelloWorld.java
  2. index.jsp
  3. maligayang pagdating.jsp
  4. web.xml
  5. struts.xml

Tandaan: Bago mo simulan ang proyektong ito tiyaking mayroon ka nang naka-install na Tomcat sa iyong system.

HAKBANG I: Sa iyong Eclipse, pumunta sa File> Bago> Dynamic Web Project. Ipasok ang Pangalan ng Proyekto at mag-click sa New Runtime.

HAKBANG II: Dito kailangan mong piliin ang bersyon ng Apache Tomcat na na-download mo sa iyong system at mag-click sa Susunod.

HAKBANG III: Susunod, mag-click sa Mag-browse at mag-navigate sa direktoryo kung saan nai-save ang mga dependency ng Tomcat. Kapag tapos na mag-click sa Tapusin at magpatuloy sa Project Creation.

HAKBANG IV: Idagdag na natin ngayon ang mga file ng Struts jar na kinakailangan para sa matagumpay na pagpapatupad ng proyektong ito. Maaari mong i-download ang JARs mula sa dito . Kapag handa ka na sa mga JAR file, kopyahin ang JAR at i-paste ang mga ito sa ilalim ng WebContent> WEB-INF> lib.

HAKBANG V: Ngayon na handa na kami sa lahat ng mga pagsasaayos ay hinahayaan i-set up ang mga file ng code, na nagsisimula sa HelloWorld.java. Para dito, mag-right click sa proyekto> Bago> Klase. Punan ang package at pangalan ng klase at mag-click sa tapusin.

HAKBANG VI: Mag-type sa ibaba ng code sa HelloWorld.java file

package com.edureka public class HelloWorld {pribadong pangalan ng String public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'tagumpay'}}

HAKBANG VII: Susunod na lumikha ng bago index.jsp file sa ilalim ng WebContent at i-type ang nasa ibaba code:

 

HAKBANG VIII: Ngayon, muling lumikha ng bago maligayang pagdating.jsp file sa ilalim ng WebContent at i-type ang nasa ibaba code:

Maligayang pagdating:

HAKBANG IX: Pumunta ngayon sa WebContent> WEB-INF at i-type ang code sa ibaba sa web.xml file

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

HAKBANG X: Panghuli, sa ilalim ng Mga mapagkukunan ng Java> src, lumikha struts.xml file

maligayang pagdating.jsp

HAKBANG XI: Pumunta ngayon sa index.jsp pahina at mag-right click dito. Piliin ang Run on Server upang maipatupad ang application.

Dinadala tayo nito sa pagtatapos ng artikulong ito sa Struts 2 Tutorial. Kung nais mong malaman ang tungkol sa Java maaari kang sumangguni sa aming .

Ngayon na naintindihan mo kung ano ang isang Struts 2 Tutorial, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulong 'Struts 2 Tutorial' na ito at babalikan ka namin sa lalong madaling panahon.