Sissejuhatus JSF-i elutsüklisse
1. Serveripoolne:
JavaServer Faces (JSF) rakenduses kirjutatud kood töötab serveris, kuid komponendid võivad sisaldada ka kliendi JavaScripti koodi. Saate selle vastandada kliendipoolsetele raamistikele, näiteks nurgeline, kuhu kirjutate koodi JavaScripti või Typescripti, mis töötab veebibrauseri kliendi poolel.
Fakt, et see on serveripoolne raamistik, ei tähenda, et te ei saaks JSF-i rakenduses kliendipoolset koodi kasutada. Tegelikult võivad JSF-i komponendid sisaldada JavaScripti ja JSF-i tuge AJAX-i jaoks, suhtluseks, meeskonna kliendi- ja serveripoolseks koodiks.
2. Komponendipõhised:
JavaServer Facessi veebirakendused on ehitatud korduvkasutatavate iseseisvate komponentide abil, mis on ehitusplokid, muutes veebirakenduste loomise kiiremaks ja lihtsamaks.
JavaServer Faces kõige huvitavam aspekt, mis eristab selle tegevuspõhistest veebirakenduste raamistikest, nagu näiteks Spring Web MVC (Model-View-Controller), Struts või JavaServer lehtede tavalised servletid, on see, et see on komponendipõhine. See tähendab, et JSF-is on teie rakenduse ehitusplokid korduvkasutatavad ja iseseisvad komponendid.
Komponent võib olla mis tahes veebirakenduse osa. See võib olla sama lihtne kui tavaline HTML-i vormikontroll, näiteks tekstisisestusväli või nupp, või keerukas tabel sorteerimis- ja lehtimistoega.
Näiteks:
Kalender või diagramm või mõni muu veebirakenduse osa, mida saate raamistikust välja mõelda, haldab lehe komponente ja hoolitseb paljude asjade eest, näiteks võtab kasutaja vormilt väljadelt sisestust, valideerib ja teisendab andmeid ning salvestab need mudeliobjektidesse ja tegevuste kutsumine.
JSF-l on mitu standardkomponenti ja saadaval on ka teegid, kus on palju kasutusvalmis komponente.
3. Veebi kasutajaliidese raamistik
JavaServer Faces on keskendunud veebirakenduste kasutajaliidese osale - saate määratleda lehed Faceletši vaate määratluskeeles.
JSF-is kasutatavat standardset vaate määratluse keelt nimetatakse Faceletiks.
JSF-i elutsükli erinevad regulaarsed faasid
JSF-i elutsüklis on kuus erinevat regulaarset faasi. Ülaltoodud diagramm näitab kuue faasi toimimise tüüpilist järjestust.
1. Taasta vaatefaas
See etapp algab iga kord, kui tarbija taotleb JSF-i lehte, klõpsates lihtsalt lingil, nupul ja nii edasi. Selle lehevaate genereerimise käigus seotakse komponendid sündmuste käitlejate ja valideerijatega, samuti säilitatakse vaade objekti FacesContext.
2. Rakendage taotluse väärtus
Selle etapi eesmärk on iga komponendi jaoks praeguse oleku leidmine
3. Protsessi valideerimise etapp
Selles faasis on komponendi puu saamiseks salvestatud kohalikud väärtused võrreldud valideerimise reeglitega, mis on lubatud komponentide hankimiseks.
4. Värskendage mudeli väärtuste faasi
Pärast andmete õigsuse kontrollimist viimases faasis võiks alustada elementide lokaalseid väärtusi seoses serveripõhiste objektide atribuutidega, näiteks ubade aluspõhjaga.
5. Kutsuge välja rakendusetapp
Selle etapi eel olid komponentide väärtused muudetud, valideeritud ja pandud oadiobjektidesse, nii et saate neid rakenduse äriloogika täitmiseks kasutada.
6. Renderdamisfaas
See etapp tõmbab vajaduse korral uue vaate, kasutades serveripoolsete ubade väärtusi, siis väljastame vaate, kasutades puus sisalduvaid väärtusi, ja siis oade jaoks, mis pole taotlusega, teisisõnu seansi ulatuse või rakenduse ulatusega, siis salvestage praegune olek.
Nägude mõistmine voolab demorakendusega reaalses elus
Allpool on näovoogude demorakendus koos näitega:
Kassaprotsess
- Sisestage saatmise üksikasjad
- Nimi ja aadress
- Sisestage makse üksikasjad
- Nimi, krediitkaardi tüüp ja number
- Vaadake üle tellimus
- Kinnitage või tühistage tellimus
- Makse õnnestus või ebaõnnestus
Vaadake allpool oleval diagrammil Checkout Flow koos voosõlmedega.
Voog koosneb paljudest sõlmedest. Iga sõlme astutakse voolu, mis täidab mõnda funktsiooni ja see täpsustab, millist sõlme tuleks järgmisena kutsuda. Voo määratlemisel määratlete sõlmed ja nende vahel navigeerimise reeglid. Sellel diagrammil näete kassas voo sõlme.
See algab saatmisest, seejärel maksmisest ja ülevaatamisest, seejärel täitmissõlm, kus makse tehakse ja tellimus on täidetud, ning kontrollige lõpuks tulemuse õnnestumist või ebaõnnestumist ja seejärel protsess on lõpule viidud.
Voolusõlmede liigid JSF-i elutsüklis
JSF-i elutsüklis on viis erinevat tüüpi sõlme.
Vaadake sõlme
- Kuva vaade (leht)
Meetodi kutsesõlm
- Helistage meetodile
Lülita sõlm
- Valige üks juhtumite seeriast
Tagasisõlm
- Lõpetage vool
Voo kõnesõlm
- Helistage teisele voolule
Vood on sarnased meetoditega
Allpool on toodud sarnased voolumeetodid JSF-i elutsüklis:
Sisenemispunkt, parameetrid, väljumiskohad
- Võib tagastada ühe või mitu väärtust
Voo ulatus
- Voo ulatusega oad on nagu kohalikud muutujad
Pesastatud voodikõned
- Kõnede pinu
Kõnede virna kasutatakse voogude kutsumiste ja ulatuste jälgimiseks, täpselt nagu see töötab meetodiga Kui voogu nimetatakse uueks kirjeks surutakse virnasse ja kui voog naaseb, hüppatakse selle sisestus virnast. Voo konfiguratsiooni täpsustamiseks on kaks võimalust.
XML-i konfiguratsioonifail
- Nägudes-config.xml või eraldi failina
Java-s, kasutades Flow Builder API-d
- CDI tootja meetod @FlowDefinition märkusega
Järeldus: JSF-i elutsükkel
Java Server Faces (JSF) on Java-s veebirakenduste loomise standardkontseptsioon. Sellegipoolest on JSF-i rakenduste arendamise ja juurutamise ajal arvukalt jõudlust ja konfiguratsioone, mida tuleb rakendada, et muuta rakendused turvalisemaks, usaldusväärsemaks ja tõhusamaks.
Soovitatavad artiklid
See on olnud JSF-i elutsükli juhend. Siin on arutatud JSF-i elutsükli kuut erinevat regulaarset faasi ja JSF-i olelustsükli viit erinevat tüüpi sõlme. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- JSP vs JSF - peamised erinevused
- Java EE vs kevad
- Java Servleti intervjuu küsimused
- Karjäär Java