Inleiding tot JSF Life Cycle

1. Serverzijde:

De code die u in een JavaServer Faces-toepassing (JSF) schrijft, wordt op de server uitgevoerd, maar componenten kunnen ook JavaScript-code bevatten die op de client wordt uitgevoerd. U kunt dit contrasteren met client-side frameworks zoals Angular, waar u code schrijft in JavaScript of Typescript dat op de client-side in de webbrowser wordt uitgevoerd.

Het feit dat het een server-side framework is, betekent niet dat u de client-side code niet in de JSF-toepassing kunt gebruiken. JSF-componenten kunnen in feite JavaScript- en JSF-ondersteuning voor AJAX omvatten, voor communicatie, de teamclient- en server-side code.

2. Op componenten gebaseerd:

JavaServer Faces-webtoepassingen worden gebouwd met herbruikbare, zelfstandige componenten als bouwstenen, waardoor het bouwen van web-apps sneller en eenvoudiger wordt.

Het meest interessante aspect van JavaServer Faces, waardoor het zich onderscheidt van op actie gebaseerde webtoepassingsframeworks, zoals Spring Web MVC (Model-View-Controller), Struts of gewone Servlets op JavaServer-pagina's, is dat het componentgebaseerd is. Dit betekent dat in JSF de bouwstenen van uw toepassing herbruikbare en zelfstandige componenten zijn.

Een component kan elk onderdeel van een webtoepassing zijn. Het kan zo eenvoudig zijn als een standaard HTML-formulierbesturing, zoals een tekstinvoerveld of een knop of een complexe tabel met ondersteuning voor sorteren en paginering.

Bijvoorbeeld:

Een kalender of een grafiek of een ander deel van een webtoepassing die u kunt bedenken, beheert de componenten op een pagina en zorgt voor veel dingen, zoals gebruikersinvoer uit formuliervelden, gegevens valideren en converteren en opslaan in modelobjecten en het aanroepen van acties.

JSF wordt geleverd met een aantal standaardcomponenten en er zijn ook bibliotheken beschikbaar met veel gebruiksklare componenten.

3. Web UI-framework

JavaServer Faces is gericht op het gebruikersinterface-gedeelte van webapplicaties - u definieert pagina's in de Facelets view definition-taal.

De standaard weergavedefinitietaal die in JSF wordt gebruikt, wordt Facelets genoemd.

Verschillende regelmatige fasen van JSF Lifecycle

Er zijn zes verschillende regelmatige fasen in de JSF Life Cycle. Het bovenstaande diagram toont de typische volgorde waarin de zes fasen worden uitgevoerd.

1. Herstel beeldfase

Deze fase begint elke keer dat een consument een JSF-pagina aanvraagt ​​door eenvoudig op een link, knop, enzovoort te klikken. Bij het genereren van deze paginaweergave wordt de binding van componenten aan de gebeurtenishandlers en validators uitgevoerd en wordt de weergave behouden binnen het FacesContext-object.

2. Verzoekwaarde toepassen

Het doel van deze fase is dat elke component de huidige status ophaalt

3. Procesvalidatiefase

In deze fase zullen de lokale waarden die zijn opgeslagen om de component in de structuur te krijgen, worden vergeleken met de validatieregels die zijn geautoriseerd om de componenten te krijgen.

4. Werk de fase van modelwaarden bij

Na het controleren of gegevens geldig zijn in de laatste fase, kunnen lokale waarden van elementen worden gestart met betrekking tot servergebaseerde objecteigenschappen, bijvoorbeeld achtergrondbonen.

5. Roep de toepassingsfase op

Voor deze fase waren de componentwaarden getransformeerd, gevalideerd en op de bean-objecten gezet, zodat u deze kunt gebruiken om de bedrijfslogica van de toepassing uit te voeren.

6. Geef de responsfase weer

Deze fase haalt indien nodig een nieuwe weergave op met behulp van waarden van server-side beans. Vervolgens voeren we de weergave uit met behulp van de waarden in de boomstructuur en vervolgens voor bonen die niet op de aanvraag staan, met andere woorden op de sessiebereik of toepassingsbereik sla dan de huidige status op.

Gezichtenstromen begrijpen met demo-applicatie in het echte voorbeeld

Hieronder is de demo-toepassing van gezichtsstromen met een voorbeeld:

Het afrekenproces

  • Voer verzendgegevens in
  • Naam en adres
  • Voer betalingsgegevens in
  • Naam, creditcardtype en nummer
  • Bestelling controleren
  • Bevestig of annuleer de bestelling
  • Betaling geslaagd of mislukt

Zie Afrekenen Flow met Flow Nodes in het onderstaande diagram.

Een stroom bestaat uit een aantal knooppunten. Elk knooppunt wordt in de stroom gestapt die een functie uitvoert en het specificeert welk knooppunt als volgende moet worden aangeroepen. In de definitie van een stroom definieert u de knooppunten en de regels voor het navigeren ertussen. In dit diagram ziet u de knooppunten van de betalingsstroom.

Het begint met verzending, vervolgens betaling en beoordeling, vervolgens het knooppunt waar de betaling wordt uitgevoerd en de bestelling is voltooid en ten slotte het succes of falen van het resultaat controleert en het proces is voltooid.

Soorten stroomknopen in JSF Life Cycle

Er zijn vijf verschillende soorten knooppunten in JSF Life Cycle.

Bekijk knooppunt

  • Een weergave weergeven (pagina)

Methode oproepknooppunt

  • Roep een methode aan

Schakel knooppunt

  • Selecteer een van een reeks cases

Retourknooppunt

  • Beëindig de stroom

Stroomoproepknooppunt

  • Roep een andere stroom op

Stromen zijn vergelijkbaar met methoden

Hieronder staan ​​vergelijkbare stromingsmethoden in de JSF-levenscyclus:

Ingangspunt, Parameters, Uitgangspunten

  • Kan een of meer waarden retourneren

Stroombereik

  • Flow-scopedbonen zijn als lokale variabelen

Geneste stroomoproepen

  • Oproep stack

Een call-stack wordt gebruikt om invocaties en scopes van flows bij te houden, precies zoals hoe het werkt met de methode. Wanneer een flow wordt genoemd, wordt een nieuwe invoer in de stapel geduwd en wanneer flow terugkeert, wordt de invoer uit de stapel geworpen. Er zijn twee manieren om de stroomconfiguratie op te geven.

XML-configuratiebestand

  • In gezichten-config.xml of in een afzonderlijk bestand

In Java met behulp van de Flow Builder API

  • CDI-productiemethode met annotatie @FlowDefinition

Conclusie: JSF Life Cycle

Java Server Faces (JSF) is het standaardconcept voor het opzetten van webtoepassingen in Java. Toch zijn er tijdens de ontwikkeling en de implementatie van JSF-toepassingen tal van prestaties en configuraties die moeten worden toegepast om de toepassingen veiliger, betrouwbaarder en effectiever te maken.

Aanbevolen artikelen

Dit is een gids over JSF Life Cycle geweest. Hier hebben we de zes verschillende regelmatige fasen van de JSF-levenscyclus en vijf verschillende soorten knooppunten in de JSF-levenscyclus besproken. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. JSP versus JSF - Topverschillen
  2. Java EE vs Spring
  3. Vragen tijdens solliciteren bij Java Servlet
  4. Carrière op Java