Introduksjon til JSF Livssyklus

1. Server-side:

Koden du skriver i et JavaServer Faces (JSF) -program kjører på serveren, men komponenter kan også inkludere JavaScript-kode som kjører på klienten. Du kan kontrastere dette med klientsidenrammer som Angular der du skriver kode i JavaScript eller Typescript som kjøres på klientsiden i nettleseren.

Det faktum at det er et rammeverk på serversiden, betyr ikke at du ikke kan bruke klientsidekoden i JSF-applikasjonen. Faktisk kan JSF-komponenter inkludere JavaScript og JSF-støtte for AJAX, for kommunikasjon, teamets klientside og serversidekode.

2. Komponentbasert:

JavaServer Faces webapplikasjoner er bygget ved hjelp av gjenbrukbare, selvstendige komponenter som byggesteiner, noe som gjør bygging av webapper raskere og enklere.

Det mest interessante aspektet av JavaServer Faces, som skiller det fra handlingsbaserte webapplikasjonsrammer, for eksempel Spring Web MVC (Model-View-Controller), Struts eller vanlige Servlets på JavaServer-sider, er at det er komponentbasert. Dette betyr at i JSF er byggesteinene i applikasjonen gjenbrukbare og selvstendige komponenter.

En komponent kan være hvilken som helst del av et nettapplikasjon. Det kan være så enkelt som en standard HTML-formkontroll, for eksempel et tekstinmatingsfelt eller en knapp eller så kompleks tabell med støtte for sortering og paginering.

For eksempel:

En kalender eller et diagram eller en hvilken som helst annen del av et nettapplikasjon som du kan tenke på rammeverket, administrerer komponentene på en side og tar vare på mange ting som å ta brukerinput fra skjemafelt, validere og konvertere data og lagre det inn i modellobjekter og påberope handlinger.

JSF kommer med en rekke standardkomponenter, og det er også tilgjengelige biblioteker med mange bruksklare komponenter.

3. Web UI-rammeverk

JavaServer Faces er fokusert på brukergrensesnittdelen av nettapplikasjoner - du definerer sider i Facelets-visningsspråk.

Standardvisningsdefinisjonsspråket som brukes i JSF kalles Facelets.

Ulike vanlige faser av JSF livssyklus

Det er seks forskjellige vanlige faser i JSFs livssyklus. Diagrammet over viser den typiske rekkefølgen der de seks fasene utføres.

1. Gjenopprett visningsfase

Denne fasen begynner hver gang en forbruker ber om en JSF-side ved å bare klikke på en kobling, knapp og så videre. I denne generasjonen av sidevisningen utføres bindingen av komponenter til hendelsesbehandlerne og valideringene, så vel som visningen er bevart i FacesContext-objektet.

2. Bruk forespørselsverdi

Målet med denne fasen er laget for at hver komponent skal hente gjeldende tilstand

3. Prosessvalideringsfase

I denne fasen vil lokale verdier som er lagret for å få komponenten i treet være i sammenligning med valideringsreglene som er godkjent for å få komponentene.

4. Oppdater modellverdifase

Etter å ha verifisert at data er gyldige i den siste fasen, kunne lokale verdier for elementer startes relatert til serverbaserte objektegenskaper, for eksempel sikkerhetskopiere bønner.

5. Påkalle søknadsfase

I forkant av denne fasen hadde komponentverdiene blitt transformert, validert og satt på bønneobjekter slik at du kan bruke disse til å utføre applikasjonens forretningslogikk.

6. Gjengivelsesfase

Denne fasen henter en ny visning om nødvendig ved bruk av verdier fra serversiden bønner, så sender vi ut visningen ved å bruke verdiene som er i treet og deretter for bønner som ikke er på forespørsel, med andre ord om sesjonsomfanget eller applikasjonsomfanget vi vil lagre dem nåværende tilstand.

Understanding Faces Flows with demo application in real life example

Nedenfor er demonstrasjonen av ansiktsstrømmer med et eksempel:

Kasseprosessen

  • Angi leveringsdetaljer
  • Navn og adresse
  • Angi betalingsinformasjon
  • Navn, kredittkorttype og nummer
  • Se gjennom bestillingen
  • Bekreft eller avbryt bestillingen
  • Betalingen lyktes eller mislyktes

La oss se i kasseflyt med strømningsnoder i diagrammet nedenfor.

En flyt består av et antall noder. Hver node tråkkes i flyten som utfører en eller annen funksjon, og den spesifiserer hvilken node som skal kalles neste. I definisjonen av en flyt, definerer du nodene og reglene for å navigere mellom dem. I dette diagrammet ser du nodene til kassestrømmen.

Det starter med frakt, deretter betaling og gjennomgang, deretter kjøringsnoden som er der betalingen utføres og ordren er oppfylt og til slutt sjekk resultatsuksess eller fiasko, og deretter er prosessen ferdig.

Typer av flytnoder i JSF livssyklus

Det er fem forskjellige typer noder i JSF Life Cycle.

Vis node

  • Vis en visning (side)

Metode anropsnode

  • Ring en metode

Bytt node

  • Velg en av en rekke saker

Returner node

  • Avslutt flyten

Flyt anropsnode

  • Ring en annen flyt

Flyt ligner metoder

Nedenfor er lignende flytmetoder i livssyklusen til JSF:

Inngangspunkt, parametere, avkjøringspunkter

  • Kan returnere en eller flere verdier

Flytingsomfang

  • Flytebønner er som lokale variabler

Nested Flow Calls

  • Ringebunken

En samtalebunke brukes til å holde oversikt over påkallinger og omfang av strømmer, akkurat som hvordan den fungerer med metoden Når en flyt kalles, blir en ny oppføring skyvet inn i bunken og når strømmen kommer tilbake blir den oppført fra bunken. Det er to måter å spesifisere flytkonfigurasjonen.

XML-konfigurasjonsfil

  • I ansikter-config.xml eller i en egen fil

I Java ved hjelp av Flow Builder API

  • CDI-produsentmetode med @FlowDefinition-merknad

Konklusjon: JSF Livssyklus

Java Server Faces (JSF) er standardkonseptet for å etablere webapplikasjoner i Java. Likevel, det er mange ytelser og konfigurasjoner som må brukes for å gjøre applikasjonene sikrere, pålitelige og effektive gjennom hele utviklingen såvel som distribusjonen av JSF-applikasjoner.

Anbefalte artikler

Dette har vært en guide på JSF Livssyklus. Her har vi diskutert de seks forskjellige vanlige fasene av JSF livssyklus og fem forskjellige typer noder i JSF livssyklus. Du kan også se på følgende artikler for å lære mer -

  1. JSP vs JSF - Topp forskjeller
  2. Java EE vs Spring
  3. Spørsmål om Java Servlet-intervju
  4. Karriere i Java