Úvod do životného cyklu JSF
1. Na strane servera:
Kód, ktorý píšete v aplikácii JavaServer Faces (JSF), sa spúšťa na serveri, ale komponenty môžu obsahovať aj kód JavaScript, ktorý beží na klientovi. Môžete to porovnať s rámcami na strane klienta, ako je Angular, kde píšete kód v jazyku JavaScript alebo strojopis, ktorý sa spúšťa na strane klienta vo webovom prehliadači.
Skutočnosť, že ide o rámec na strane servera, neznamená, že v aplikácii JSF nemôžete použiť kód na strane klienta. Komponenty JSF môžu v skutočnosti obsahovať podporu JavaScriptu a JSF pre AJAX, pre komunikáciu, tímový kód na strane klienta a serverový kód.
2. Na základe komponentov:
Webové aplikácie JavaServer Faces sú zostavené z opakovane použiteľných samostatných komponentov ako stavebných blokov, čím sa vytváranie webových aplikácií zrýchľuje a zjednodušuje.
Najzaujímavejším aspektom tvárí JavaServer, ktoré ju odlišujú od rámcov webových aplikácií založených na akciách, ako napríklad Spring Web MVC (Model-View-Controller), Struts alebo plain Servlets na stránkach JavaServer, je to, že je založený na komponentách. To znamená, že v JSF sú stavebné bloky vašej aplikácie opakovane použiteľné a samostatné komponenty.
Komponent môže byť akákoľvek súčasť webovej aplikácie. Môže to byť rovnako jednoduché ako štandardné HTML riadenie formulárov, ako je napríklad pole na zadávanie textu alebo tlačidlo alebo ako zložitá tabuľka s podporou triedenia a stránkovania.
Napríklad:
Kalendár alebo graf alebo akákoľvek iná časť webovej aplikácie, o ktorej si môžete myslieť, že rámec, spravuje komponenty na stránke a stará sa o veľa vecí, ako napríklad prevzatie údajov od používateľov z polí formulára, overenie a konverzia údajov a ich uloženie. do modelových objektov a vyvolávanie akcií.
JSF prichádza s množstvom štandardných komponentov a sú k dispozícii aj knižnice s mnohými komponentmi pripravenými na použitie.
3. Rámec webového používateľského rozhrania
JavaServer Faces je zameraný na časť používateľského rozhrania webových aplikácií - stránky definujete v jazyku definície zobrazenia Facelets.
Jazyk štandardnej definície zobrazenia používaný v JSF sa nazýva Facelets.
Rôzne pravidelné fázy životného cyklu JSF
Vo vnútri životného cyklu JSF je šesť rôznych pravidelných fáz. Vyššie uvedený diagram ukazuje typické poradie, v ktorom prebieha šesť fáz.
1. Obnoviť fázu zobrazenia
Táto fáza začína zakaždým, keď spotrebiteľ požiada o stránku JSF jednoduchým kliknutím na odkaz, tlačidlo atď. V tomto generovaní zobrazenia stránky sa vykoná väzba komponentov na obsluhy udalostí a validátory a pohľad sa zachová v objekte FacesContext.
2. Použite hodnotu požiadavky
Cieľom tejto fázy je, aby každý komponent získal aktuálny stav
3. Fáza overenia procesu
V tejto fáze budú lokálne hodnoty uložené na získanie komponentu v strome porovnané s validačnými pravidlami autorizovanými na získanie komponentov.
4. Aktualizujte fázu hodnôt modelu
Po overení, či sú údaje platné v poslednej fáze, by sa mohli začať miestne hodnoty prvkov súvisiace s vlastnosťami objektu na serveri, napríklad podložkou fazule.
5. Vyvolajte fázu aplikácie
Pred touto fázou boli hodnoty komponentov transformované, overené a umiestnené na objekty fazule, takže ich môžete využiť na vykonanie obchodnej logiky aplikácie.
6. Fáza odozvy na vykreslenie
Táto fáza načíta nové zobrazenie, ak je to potrebné, použitím hodnôt zo serverových bôbov, potom výstup zobrazíme pomocou hodnôt, ktoré sú v strome, a potom pre fazuľa, ktoré nie sú na požiadanie, inými slovami o rozsahu relácie alebo rozsahu aplikácie, budeme potom uložte aktuálny stav.
Pochopenie Faces Flows s ukážkou použitia v reálnom živote
Nižšie je uvedená ukážka použitia tvárových tokov s príkladom:
Proces platby
- Zadajte podrobnosti o dodaní
- Meno a adresa
- Zadajte platobné podrobnosti
- Názov, typ a číslo kreditnej karty
- Skontrolujte objednávku
- Potvrďte alebo zrušte objednávku
- Platba bola úspešná alebo neúspešná
Na nasledujúcom diagrame nájdete postup platby pomocou uzlov toku.
Tok pozostáva z niekoľkých uzlov. Každý uzol je zaradený do toku, ktorý vykonáva určitú funkciu a určuje, ktorý uzol by sa mal nazývať nasledujúci. V definícii toku definujete uzly a pravidlá pre navigáciu medzi nimi. Na tomto diagrame vidíte uzly toku platieb.
Začína sa zasielaním, potom platbou a kontrolou, potom vykonávacím uzlom, v ktorom je platba vykonaná a objednávka je splnená, a nakoniec skontroluje úspešnosť alebo neúspech výsledku a potom je proces ukončený.
Druhy tokových uzlov v životnom cykle JSF
V životnom cykle JSF existuje päť rôznych druhov uzlov.
Zobraziť uzol
- Zobraziť zobrazenie (stránka)
Uzol na volanie metódy
- Zavolajte metódu
Prepínací uzol
- Vyberte jeden zo série prípadov
Návratový uzol
- Ukončite tok
Uzol toku hovorov
- Zavolajte ďalší tok
Toky sú podobné metódam
Nižšie sú uvedené podobné metódy toku v životnom cykle JSF:
Vstupný bod, parametre, výstupné body
- Môže vrátiť jednu alebo viac hodnôt
Rozsah toku
- Fazuľa s pomarančovým tokom je ako miestne premenné
Hniezdne hovory
- Zásobník hovorov
Zásobník hovorov sa používa na sledovanie vyvolávaní a rozsahov tokov presne tak, ako to funguje pri metóde. Keď sa tok nazýva, do zásobníka sa vloží nový záznam a keď sa tok vráti, jeho záznam sa vyskočí zo zásobníka. Konfiguráciu toku možno zadať dvoma spôsobmi.
Konfiguračný súbor XML
- V tváre-config.xml alebo v samostatnom súbore
V jazyku Java pomocou rozhrania Flow Builder API
- Metóda výrobcu CDI s anotáciou @FlowDefinition
Záver: JSF Life Cycle
Java Server Faces (JSF) je štandardný koncept na vytváranie webových aplikácií v jazyku Java. Napriek tomu v priebehu vývoja a zavádzania aplikácií JSF existuje množstvo výkonov a konfigurácií, ktoré je potrebné použiť, aby sa aplikácie stali bezpečnejšími, spoľahlivejšími a účinnejšími.
Odporúčané články
Toto bola príručka o životnom cykle JSF. Tu sme diskutovali o šiestich rôznych pravidelných fázach životného cyklu JSF a piatich rôznych druhoch uzlov v životnom cykle JSF. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- JSP vs JSF - najväčšie rozdiely
- Java EE vs Jar
- Otázky týkajúce sa rozhovoru Java Servlet
- Kariéra v Java