Introduktion till JSF Life Cycle
1. Server-sida:
Koden du skriver i en JavaServer Faces (JSF) -applikation körs på servern, men komponenter kan också innehålla JavaScript-kod som körs på klienten. Du kan kontrastera detta med klientsidan ramar som Angular där du skriver kod i JavaScript eller Typescript som körs på klientsidan i webbläsaren.
Det faktum att det är ett server-sida-ramverk betyder inte att du inte kan använda klientsidan-koden i JSF-applikationen. I själva verket kan JSF-komponenter inkludera JavaScript och JSF-stöd för AJAX, för kommunikation, teamets klientsida och serversidan.
2. Komponentbaserad:
JavaServer Faces webbapplikationer byggs med återanvändbara, fristående komponenter som byggstenar, vilket gör att bygga webbappar snabbare och enklare.
Den mest intressanta aspekten av JavaServer Faces, som skiljer det från actionbaserade webbapplikationsramar, som Spring Web MVC (Model-View-Controller), Struts eller vanliga servlets på JavaServer-sidor är att det är komponentbaserat. Detta innebär att i JSF är byggstenarna i din applikation återanvändbara och fristående komponenter.
En komponent kan vara vilken som helst del av en webbapplikation. Det kan vara så enkelt som en vanlig HTML-formkontroll, till exempel ett textinmatningsfält eller en knapp eller så komplex en tabell med stöd för sortering och pagination.
Till exempel:
En kalender eller ett diagram eller någon annan del av en webbapplikation som du kan tänka på ramverket hanterar komponenterna på en sida och tar hand om många saker som att ta användarinmatning från formulärfält, validera och konvertera data och lagra det till modellobjekt och åberopa handlingar.
JSF levereras med ett antal standardkomponenter och det finns också bibliotek med många redo att använda komponenter.
3. Webbgränssnittsgränssnitt
JavaServer Faces är fokuserat på användargränssnittsdelen i webbapplikationer - du definierar sidor i Definitionsspråket för Facelets.
Standardvisningsdefinitionsspråket som används i JSF kallas Facelets.
Olika vanliga faser av JSF-livscykel
Det finns sex olika regelbundna faser i JSFs livscykel. Diagrammet ovan visar den typiska ordningen där de sex faserna utförs.
1. Återställ visningsfas
Denna fas börjar varje gång en konsument begär en JSF-sida genom att helt enkelt klicka på en länk, knapp osv. I denna sidvisningsgenerering utförs bindning av komponenter till händelseshanterare och validerare såväl som vyn bevaras i FacesContext-objektet.
2. Använd begäran
Målet med denna fas är att varje komponent ska hämta det aktuella tillståndet
3. Process Valideringsfas
I denna fas kommer lokala värden som lagras för att få komponenten i trädet att jämföras med de valideringsregler som är godkända för att få komponenterna.
4. Uppdatera modellvärdesfasen
Efter att ha verifierat att data är giltiga i den sista fasen kan lokala värden på element startas relaterade till serverbaserade objektegenskaper, till exempel stödja bönor.
5. Åkalla ansökningsfas
Inför denna fas hade komponentvärdena omvandlats, validerats samt satt på bönobjekten så att du kan använda dessa för att utföra applikationens affärslogik.
6. Återgivningsfas
Den här fasen hämtar en ny vy om det behövs med hjälp av värden från serverns bönor, sedan skickar vi vyn med hjälp av värdena i trädet och sedan för bönor som inte är på begäran, med andra ord om sessionens omfattning eller tillämpningsomfång vi kommer att spara sedan dem det nuvarande tillståndet.
Förstå ansikten Flöden med demoapplikation i verkliga exempel
Nedan visas demoapplikationen av ansiktsflöden med ett exempel:
Kassaprocessen
- Ange leveransinformation
- Namn och adress
- Ange betalningsinformation
- Namn, kreditkorts typ och nummer
- Granska ordningen
- Bekräfta eller avbryt beställningen
- Betalningen lyckades eller misslyckades
Se kassaflödet med flödesnoder i diagrammet nedan.
Ett flöde består av ett antal noder. Varje nod trampas i flödet som utför någon funktion och den anger vilken nod som ska kallas nästa. I definitionen av ett flöde definierar du noderna och reglerna för att navigera mellan dem. I detta diagram ser du noderna i kassaflödet.
Det börjar med frakt, sedan betalning och granskning sedan exekveringsnoden som är där betalningen görs och beställningen uppfylls och slutligen kontrollera resultatframgång eller misslyckande, och sedan processen är klar.
Typer av flödesnoder i JSFs livscykel
Det finns fem olika typer av noder i JSF Life Cycle.
Visa nod
- Visa en vy (sida)
Metod samtalsnod
- Ring en metod
Byt nod
- Välj ett av en serie fall
Returnera nod
- Avsluta flödet
Flödeanrop
- Ring ett annat flöde
Flöden liknar metoder
Nedan visas liknande flödesmetoder i JSF: s livscykel:
Ingångspunkt, parametrar, utgångspunkter
- Kan returnera ett eller flera värden
Flödesområde
- Flödesbotten är som lokala variabler
Kapslade flödessamtal
- Call stack
En samtalstack används för att hålla reda på invokationer och flödesomfång, precis som hur det fungerar med metoden När ett flöde kallas skjuts en ny post in i bunten och när flöde återvänder poppas dess inträde från bunten. Det finns två sätt att specificera flödets konfiguration.
XML-konfigurationsfil
- I face-config.xml eller i en separat fil
I Java med hjälp av Flow Builder API
- CDI-producentmetod med @FlowDefinition-kommentar
Slutsats: JSF Livscykel
Java Server Faces (JSF) är standardkonceptet för att skapa webbapplikationer i Java. Trots det, under utveckling och distribution av JSF-applikationer, finns det många prestanda och konfigurationer som måste tillämpas för att göra applikationerna säkrare, pålitliga och effektiva.
Rekommenderade artiklar
Detta har varit en guide för JSF Life Cycle. Här har vi diskuterat de sex olika regelbundna faserna av JSF-livscykeln och fem olika typer av noder i JSF-livscykeln. Du kan också titta på följande artiklar för att lära dig mer -
- JSP vs JSF - Toppskillnader
- Java EE vs våren
- Java Servlet intervjufrågor
- Karriär i Java