Introduzione al ciclo di vita di JSF

1. Lato server:

Il codice che scrivi in ​​un'applicazione JavaServer Faces (JSF) viene eseguito sul server, ma i componenti possono anche includere il codice JavaScript che viene eseguito sul client. È possibile contrastare questo con i framework lato client come Angular in cui si scrive codice in JavaScript o Typescript che viene eseguito sul lato client nel browser Web.

Il fatto che sia un framework lato server non significa che non è possibile utilizzare il codice lato client nell'applicazione JSF. Infatti, i componenti JSF possono includere il supporto JavaScript e JSF per AJAX, per la comunicazione, il codice lato client e lato server del team.

2. Basato su componenti:

Le applicazioni Web JavaServer Faces sono costruite utilizzando componenti riutilizzabili e autonomi come blocchi predefiniti, rendendo la creazione di app Web più rapida e semplice.

L'aspetto più interessante di JavaServer Faces, che lo distingue dai framework di applicazioni Web basati su azioni, come Spring Web MVC (Model-View-Controller), Struts o semplici servlet nelle pagine JavaServer è che è basato su componenti. Ciò significa che in JSF i blocchi costitutivi dell'applicazione sono componenti riutilizzabili e autonomi.

Un componente può essere qualsiasi parte di un'applicazione web. Può essere semplice come un controllo modulo HTML standard, come un campo di input di testo o un pulsante o una tabella complessa con supporto per ordinamento e paginazione.

Per esempio:

Un calendario o un grafico o qualsiasi altra parte di un'applicazione Web che puoi pensare al framework gestisce i componenti di una pagina e si occupa di molte cose come prendere l'input dell'utente dai campi del modulo, convalidare e convertire i dati e archiviarlo in oggetti modello e azioni invocanti.

JSF viene fornito con una serie di componenti standard e ci sono anche librerie disponibili con molti componenti pronti all'uso.

3. Framework dell'interfaccia utente Web

JavaServer Faces si concentra sulla parte dell'interfaccia utente delle applicazioni Web: le pagine vengono definite nel linguaggio di definizione della vista Facelets.

Il linguaggio di definizione della vista standard utilizzato in JSF è chiamato Facelets.

Diverse fasi regolari del ciclo di vita di JSF

Esistono sei diverse fasi regolari all'interno del ciclo di vita di JSF. Il diagramma sopra mostra l'ordine tipico in cui si svolgono le sei fasi.

1. Ripristina la fase di visualizzazione

Questa fase inizia ogni volta che un consumatore richiede una pagina JSF semplicemente facendo clic su un link, pulsante e così via. In questa generazione della vista di pagina, viene eseguita l'associazione dei componenti ai gestori e ai validatori di eventi e la vista viene conservata all'interno dell'oggetto FacesContext.

2. Applica valore richiesta

L'obiettivo di questa fase è fatto per ogni componente per recuperare lo stato corrente

3. Fase di convalida del processo

In questa fase, i valori locali memorizzati per ottenere il componente nella struttura verranno confrontati con le regole di convalida autorizzate per ottenere i componenti.

4. Aggiorna la fase dei valori del modello

Dopo aver verificato che i dati siano validi nell'ultima fase, è possibile avviare i valori locali degli elementi relativi alle proprietà degli oggetti basate sul server, ad esempio i bean di backup.

5. Richiamare la fase dell'applicazione

Prima di questa fase i valori dei componenti erano stati trasformati, convalidati e inseriti negli oggetti bean in modo da poterli utilizzare per eseguire la logica di business dell'applicazione.

6. Fase di risposta del rendering

Questa fase recupera una nuova vista, se necessario, utilizzando i valori dai bean lato server, quindi eseguiamo l'output della vista utilizzando i valori che si trovano nella struttura e quindi per i bean che non sono sulla richiesta, in altre parole sull'ambito della sessione o dell'applicazione quindi salvare quelli dello stato corrente.

Comprensione dei flussi di volti con l'applicazione demo nell'esempio di vita reale

Di seguito è riportata l'applicazione demo dei flussi facciali con un esempio:

Il processo di pagamento

  • Inserisci i dettagli di spedizione
  • Nome e indirizzo
  • Inserisci i dettagli di pagamento
  • Nome, tipo e numero di carta di credito
  • Ordine di revisione
  • Conferma o Annulla l'ordine
  • Pagamento riuscito o fallito

Vediamo Checkout Flow con Flow Nodes nel diagramma seguente.

Un flusso è costituito da un numero di nodi. Ogni nodo viene inserito nel flusso che esegue alcune funzioni e specifica quale nodo deve essere chiamato successivamente. Nella definizione di un flusso, si definiscono i nodi e le regole per la navigazione tra di essi. In questo diagramma, vedi i nodi del flusso di pagamento.

Inizia con la spedizione, quindi il pagamento e la revisione, quindi il nodo di esecuzione che è dove viene effettuato il pagamento e l'ordine viene eseguito e infine controlla l'esito positivo o negativo del risultato, quindi il processo è terminato.

Tipi di nodi di flusso nel ciclo di vita di JSF

Esistono cinque diversi tipi di nodi nel ciclo di vita di JSF.

Visualizza nodo

  • Visualizza una vista (pagina)

Nodo di chiamata del metodo

  • Chiama un metodo

Cambia nodo

  • Seleziona una serie di casi

Nodo di ritorno

  • Termina il flusso

Nodo di chiamata di flusso

  • Chiama un altro flusso

I flussi sono simili ai metodi

Di seguito sono riportati metodi di flusso simili nel ciclo di vita di JSF:

Punto di entrata, parametri, punti di uscita

  • Può restituire uno o più valori

Portata del flusso

  • I bean con ambito di flusso sono come variabili locali

Chiamate di flusso nidificate

  • Call stack

Uno stack di chiamate viene utilizzato per tenere traccia delle invocazioni e degli ambiti dei flussi, esattamente come funziona con il metodo Quando un flusso viene chiamato, una nuova voce viene inserita nello stack e quando il flusso ritorna, la sua voce viene estratta dallo stack. Esistono due modi per specificare la configurazione del flusso.

File di configurazione XML

  • In faces-config.xml o in un file separato

In Java utilizzando l'API Flow Builder

  • Metodo di produzione CDI con annotazione @FlowDefinition

Conclusione: ciclo di vita di JSF

Java Server Faces (JSF) è il concetto standard per la creazione di applicazioni Web in Java. Tuttavia, durante lo sviluppo e la distribuzione di applicazioni JSF, ci sono numerose prestazioni e configurazioni che devono essere applicate per contribuire a rendere le applicazioni più sicure, affidabili ed efficaci.

Articoli consigliati

Questa è stata una guida sul ciclo di vita di JSF. Qui abbiamo discusso le sei diverse fasi regolari del ciclo di vita di JSF e cinque diversi tipi di nodi nel ciclo di vita di JSF. Puoi anche consultare i seguenti articoli per saperne di più -

  1. JSP vs JSF: differenze principali
  2. Java EE vs Spring
  3. Domande di intervista con servlet Java
  4. Carriera in Java

Categoria: