SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Java Server Faces
Ciclo de vida

M.B.W
Ciclo de vida
Similar a paginas JSP:
Se basa en el modelo petición-respuesta

Petición cliente
HTTP

Servidor
HTML
Diagrama ciclo de vida
Ciclo de vida Petición-Respuesta
Ciclo de vida Petición-Respuesta
1.- Reconstruir el Árbol de Componentes
Cuando se hace una petición para una página
JavaServer Faces, ej. pulsar un botón, la
implementación JavaServer Faces comienza el estado
Reconstruir el Árbol de Componentes.
Durante esta fase, la implementación JavaServer Faces
construye el árbol de componentes de la página
JavaServer Faces, conecta los manejadores de eventos
y los validadores y graba el estado en el FacesContext.
Ciclo de vida Petición-Respuesta
Ejemplo de árbol de componentes de una
pagina Jsp:
Ciclo de vida Petición-Respuesta
2 .- Aplicar Valores de la Petición
En esta etapa se recuperan los valores del request y se
asignan a los beans de la página.
El valor es almacenado localmente en el componente.
Si falla la conversión del valor, se genera un mensaje de
error asociado al componente y se pone en la cola de
FacesContext.
Si durante esta fase se produce algún evento, la
implementación JSF emite los eventos a los oyentes
interesados. (Listener).
Ciclo de vida Petición-Respuesta
3 .- Procesar Validaciones
Se verifican los parámetros de entrada según un conjunto de
reglas definidas en un fichero de configuración.
Se procesa todas las validaciones registradas con los
componentes del árbol.
Examina los atributos del componente que especifican las
reglas de validación y compara esas reglas con el valor local
almacenado en el componente.
Si el valor local no es válido, añade un mensaje de error al
FacesContext y el ciclo de vida avanza directamente hasta la
fase Renderizar las Respuesta para que la página sea dibujada
de nuevo incluyendo los mensajes de error.
Ciclo de vida Petición-Respuesta
4.- Actualizar los Valores del Modelo
Una vez determinado que el dato es
válido, pasa por el árbol de componentes
y configura los valores del objeto de
modelo correspondiente con los valores
locales de los componentes.
Los valores leídos y validados son
cargados en los beans.
Ciclo de vida Petición-Respuesta
5.- Invocar Aplicación
Se ejecutan las acciones y eventos solicitados para la página.
Si es necesario se realiza la navegación.
JSF maneja cualquier evento a nivel de aplicación, como enviar un
formulario o enlazar a otra página.
Si la aplicación necesita redirigirse a un recurso de aplicación Web
diferente o generar una respuesta que no contenga componentes
JSF, llamara a FacesContext.responseComplete.
Configura el árbol de componentes de la respuesta a esa nueva
página y transfiere el control a la fase Renderizar la Respuesta.
Ciclo de vida Petición-Respuesta

6 .- Renderizar la Respuesta
Se ejecutan las acciones y eventos solicitados
para la página. Si es necesario se realiza la
navegación.
Si se encontraron errores durante las fases
Aplicar los Valores a la Petición, Procesar
Validaciones o Actualizar los Valores del
Modelo, se mostrara la página original con los
mensaje de error que haya en la cola.
Ciclo de vida
Debido a las características extras de
JSF, el ciclo de vida ofrece diferentes
escenarios adicionales:
Escenarios de Procesamiento del Ciclo de
vida de una petición.
Escenarios del Ciclo de vida de una petición.

Soporta dos tipos diferentes de
respuestas y dos tipos distintos de
peticiones:
Se puede mezclar tanto paginas JSF y no
JSF, en función de la petición se origina la
respuesta.
Escenarios del Ciclo de vida de una petición.

Respuesta Faces:
Es una respuesta servlet que se genero
en la fase “renderizar la respuesta” del
ciclo de vida de procesamiento de la
respuesta.
Respuesta No-Faces:
Una respuesta generada por el servlet en
la que no se ha ejecutado la fase
“Renderizar la respuesta”.
Escenarios del Ciclo de vida de una petición.

Petición Faces:
Petición al servlet que fue enviada desde
una respuesta Face previamente
generada.
Petición No-Faces:
Una petición al servlet que fue enviada a
un componente de aplicación como un
servlet o una pagina Jsp, en vez de
directamente a un componente JSF.
Escenarios del Ciclo de vida de una petición.

Esta combinacion hace posible tres escenarios
del ciclo de vida.
Escenario 1: Una Petición No-Faces genera
una Respuesta Faces:
Un ejemplo de este escenario es cuando se pulsa un enlace de una
página HTML que abre una página que contiene componentes JSF.
Para dibujar una Respuesta Faces desde una petición No-Faces,
una aplicación debe proporcionar un mapeo FacesServlet en la
URL de la página que contiene componentes JSF.
FacesServlet accepta peticiones entrantes y pasa a la
implementación del ciclo de vida para su procesamiento. Restaurar
vista
Escenarios del Ciclo de vida de una petición.

•

Escenario 2: Una Petición Faces genera una
Respuesta No-Faces:
Cuando una aplicación JSF podría necesitar redirigir la salida a un
recurso diferente de la aplicación Web diferente o generar una
respuesta que no contiene componentes JSF.
En estas situaciones, el desarrollador debe saltarse la fase de
renderizado (Renderizar la Respuesta) llamando a
FacesContext.responseComplete.
FacesContext Contiene toda la información asociada con una
Petición Faces particular. Este método se puede invocar durante las
fases Aplicar los Valores de Respuesta, Procesar Validaciones o
Actualizar los Valores del Modelo.
Escenarios del Ciclo de vida de una petición.

•

Escenario 3: Una Petición Faces genera una
Respuesta Faces:
Escenario más común en el ciclo de vida de una
aplicación JSF.
Este escenario implica componentes JSF enviando una
petición a una aplicación JSF utilizando el FacesServlet.
Como la petición ha sido manejada por la
implementación JSF, la aplicación no necesita pasos
adicionales para generar la respuesta.
Todos los oyentes, validadores y conversores serán
invocados automáticamente durante la fase apropiada
del ciclo de vida estándar.
Resumen de escenarios
Petición JSF genera respuesta JSF:
Ciclo de vida completo

Petición no-JSF genera respuesta JSF:
Restaurar vista
Producir respuesta

Petición JSF genera respuesta no-JSF (ejemplo:
generar XML)
Restaurar vista
Aplicar valores de la petición
Procesar validaciones
Actualizar modelo
Invocar aplicación
Desvío a productor no-JSF
Resumen de Ciclo de vida
(generación de respuestas)
1. Crear o reusar árbol de componentes
2. Aplicar parámetros de la petición
3. Validar valores obtenidos y ejecutar
acciones de eventos de cambio de valor
4. Incorporar datos de la aplicación
5. Ejecutar acciones de eventos a nivel de
aplicación (botones, enlaces, etc)
6. Crear respuesta
En cada etapa se pueden generar eventos
Ciclo de vida de JSF

IndicThreads.com Java Meet June 2006
Ciclo de vida, II
1 Crear
5
Eventos
Aplicación

123

123

3 Validar
2
Pasar

4
Incorporar
6
HTML
86535551 ciclo-de-vida-jsf

Mais conteúdo relacionado

Mais procurados

Volumen de Bases de Datos
Volumen de Bases de DatosVolumen de Bases de Datos
Volumen de Bases de DatosWendyCisneros3
 
MSB AL PROBLEMA DEL TRANSPORTE
MSB  AL PROBLEMA DEL  TRANSPORTEMSB  AL PROBLEMA DEL  TRANSPORTE
MSB AL PROBLEMA DEL TRANSPORTEJair Barzola
 
Patrones Arquitecturales: Pipes & Filters
Patrones Arquitecturales: Pipes & FiltersPatrones Arquitecturales: Pipes & Filters
Patrones Arquitecturales: Pipes & FiltersNacho Bongiovanni
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relaciondanielglot
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificadoaioria2525
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
Sinergia y Recursividad/ Division de Sistemas
Sinergia y Recursividad/ Division de SistemasSinergia y Recursividad/ Division de Sistemas
Sinergia y Recursividad/ Division de SistemasAxel Ramos
 
Diagrama de Actividades.pptx
Diagrama de Actividades.pptxDiagrama de Actividades.pptx
Diagrama de Actividades.pptxYuzabethMacas1
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptxCAMILORUALES1
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdIrene Lorza
 

Mais procurados (20)

Volumen de Bases de Datos
Volumen de Bases de DatosVolumen de Bases de Datos
Volumen de Bases de Datos
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
 
MSB AL PROBLEMA DEL TRANSPORTE
MSB  AL PROBLEMA DEL  TRANSPORTEMSB  AL PROBLEMA DEL  TRANSPORTE
MSB AL PROBLEMA DEL TRANSPORTE
 
Patrones Arquitecturales: Pipes & Filters
Patrones Arquitecturales: Pipes & FiltersPatrones Arquitecturales: Pipes & Filters
Patrones Arquitecturales: Pipes & Filters
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
Proyecto programacion
Proyecto programacionProyecto programacion
Proyecto programacion
 
Conexión Mysql -Prolog
Conexión Mysql -PrologConexión Mysql -Prolog
Conexión Mysql -Prolog
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Sinergia y Recursividad/ Division de Sistemas
Sinergia y Recursividad/ Division de SistemasSinergia y Recursividad/ Division de Sistemas
Sinergia y Recursividad/ Division de Sistemas
 
Recursividad
RecursividadRecursividad
Recursividad
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Diagrama de Actividades.pptx
Diagrama de Actividades.pptxDiagrama de Actividades.pptx
Diagrama de Actividades.pptx
 
Clase 11 uml_casos_de_uso
Clase 11 uml_casos_de_usoClase 11 uml_casos_de_uso
Clase 11 uml_casos_de_uso
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptx
 
Casos uso uml
Casos uso umlCasos uso uml
Casos uso uml
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bd
 

Destaque

Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Fernando Redondo Ramírez
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en javaANGELA FREIRE
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5srBichoRaro
 
Flujo de un programa Java (I)
Flujo de un programa Java (I)Flujo de un programa Java (I)
Flujo de un programa Java (I)alvaro gonzalez
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo forluisoctis
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaDaniel Gómez
 
Sentencias de control en java
Sentencias de control en javaSentencias de control en java
Sentencias de control en javaLorenna Glez
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcAbdelmonaim Remani
 
ProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosAndres Garcia
 
Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVAJose Diaz Silva
 
Java script(diapositivas)
Java script(diapositivas) Java script(diapositivas)
Java script(diapositivas) Roberto Mejia
 

Destaque (20)

Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Ciclos
CiclosCiclos
Ciclos
 
While do while
While do whileWhile do while
While do while
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Flujo de un programa Java (I)
Flujo de un programa Java (I)Flujo de un programa Java (I)
Flujo de un programa Java (I)
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo for
 
Clojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidosClojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidos
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - Algoritmia
 
Curso java
Curso javaCurso java
Curso java
 
Sentencias de control en java
Sentencias de control en javaSentencias de control en java
Sentencias de control en java
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring Mvc
 
ProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y Ciclos
 
Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVA
 
Java script(diapositivas)
Java script(diapositivas) Java script(diapositivas)
Java script(diapositivas)
 
Java netbeans-clase-001
Java netbeans-clase-001Java netbeans-clase-001
Java netbeans-clase-001
 

Semelhante a 86535551 ciclo-de-vida-jsf

Ciclo De Vida De Una Página ASP.NET
Ciclo De Vida De Una Página ASP.NETCiclo De Vida De Una Página ASP.NET
Ciclo De Vida De Una Página ASP.NETJuan Pablo Ibañez
 
Capitulo3 jsf
Capitulo3 jsfCapitulo3 jsf
Capitulo3 jsfjoserazo7
 
Ciclo de vida ingenieria del software unid 2
Ciclo de vida ingenieria del software unid 2Ciclo de vida ingenieria del software unid 2
Ciclo de vida ingenieria del software unid 2Dulce Luna Kopp
 
Clase servletsaccesobd
Clase servletsaccesobdClase servletsaccesobd
Clase servletsaccesobdsimeon
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)Enrique Polo
 
Introducción Seam
Introducción SeamIntroducción Seam
Introducción Seamsebasjm
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visualIgnacio Monllor
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server FacesPaco_1994
 
Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Lennon Shimokawa
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
Servletacceso bd
Servletacceso bdServletacceso bd
Servletacceso bdmanuel
 

Semelhante a 86535551 ciclo-de-vida-jsf (20)

Ciclo De Vida De Una Página ASP.NET
Ciclo De Vida De Una Página ASP.NETCiclo De Vida De Una Página ASP.NET
Ciclo De Vida De Una Página ASP.NET
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
Capitulo3 jsf
Capitulo3 jsfCapitulo3 jsf
Capitulo3 jsf
 
Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02
 
Ciclo de vida ingenieria del software unid 2
Ciclo de vida ingenieria del software unid 2Ciclo de vida ingenieria del software unid 2
Ciclo de vida ingenieria del software unid 2
 
Clase 16, 6/11/2007
Clase 16, 6/11/2007Clase 16, 6/11/2007
Clase 16, 6/11/2007
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
Clase servletsaccesobd
Clase servletsaccesobdClase servletsaccesobd
Clase servletsaccesobd
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)
 
Introducción Seam
Introducción SeamIntroducción Seam
Introducción Seam
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visual
 
JQuery Deferred
JQuery DeferredJQuery Deferred
JQuery Deferred
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009
 
Servlet
ServletServlet
Servlet
 
Clase 15, 24/10/2007
Clase 15, 24/10/2007Clase 15, 24/10/2007
Clase 15, 24/10/2007
 
Curso richfaces 3.3.3 I
Curso richfaces 3.3.3 ICurso richfaces 3.3.3 I
Curso richfaces 3.3.3 I
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Servletacceso bd
Servletacceso bdServletacceso bd
Servletacceso bd
 

86535551 ciclo-de-vida-jsf

  • 1. Java Server Faces Ciclo de vida M.B.W
  • 2. Ciclo de vida Similar a paginas JSP: Se basa en el modelo petición-respuesta Petición cliente HTTP Servidor HTML
  • 4. Ciclo de vida Petición-Respuesta
  • 5. Ciclo de vida Petición-Respuesta 1.- Reconstruir el Árbol de Componentes Cuando se hace una petición para una página JavaServer Faces, ej. pulsar un botón, la implementación JavaServer Faces comienza el estado Reconstruir el Árbol de Componentes. Durante esta fase, la implementación JavaServer Faces construye el árbol de componentes de la página JavaServer Faces, conecta los manejadores de eventos y los validadores y graba el estado en el FacesContext.
  • 6. Ciclo de vida Petición-Respuesta Ejemplo de árbol de componentes de una pagina Jsp:
  • 7. Ciclo de vida Petición-Respuesta 2 .- Aplicar Valores de la Petición En esta etapa se recuperan los valores del request y se asignan a los beans de la página. El valor es almacenado localmente en el componente. Si falla la conversión del valor, se genera un mensaje de error asociado al componente y se pone en la cola de FacesContext. Si durante esta fase se produce algún evento, la implementación JSF emite los eventos a los oyentes interesados. (Listener).
  • 8. Ciclo de vida Petición-Respuesta 3 .- Procesar Validaciones Se verifican los parámetros de entrada según un conjunto de reglas definidas en un fichero de configuración. Se procesa todas las validaciones registradas con los componentes del árbol. Examina los atributos del componente que especifican las reglas de validación y compara esas reglas con el valor local almacenado en el componente. Si el valor local no es válido, añade un mensaje de error al FacesContext y el ciclo de vida avanza directamente hasta la fase Renderizar las Respuesta para que la página sea dibujada de nuevo incluyendo los mensajes de error.
  • 9. Ciclo de vida Petición-Respuesta 4.- Actualizar los Valores del Modelo Una vez determinado que el dato es válido, pasa por el árbol de componentes y configura los valores del objeto de modelo correspondiente con los valores locales de los componentes. Los valores leídos y validados son cargados en los beans.
  • 10. Ciclo de vida Petición-Respuesta 5.- Invocar Aplicación Se ejecutan las acciones y eventos solicitados para la página. Si es necesario se realiza la navegación. JSF maneja cualquier evento a nivel de aplicación, como enviar un formulario o enlazar a otra página. Si la aplicación necesita redirigirse a un recurso de aplicación Web diferente o generar una respuesta que no contenga componentes JSF, llamara a FacesContext.responseComplete. Configura el árbol de componentes de la respuesta a esa nueva página y transfiere el control a la fase Renderizar la Respuesta.
  • 11. Ciclo de vida Petición-Respuesta 6 .- Renderizar la Respuesta Se ejecutan las acciones y eventos solicitados para la página. Si es necesario se realiza la navegación. Si se encontraron errores durante las fases Aplicar los Valores a la Petición, Procesar Validaciones o Actualizar los Valores del Modelo, se mostrara la página original con los mensaje de error que haya en la cola.
  • 12. Ciclo de vida Debido a las características extras de JSF, el ciclo de vida ofrece diferentes escenarios adicionales: Escenarios de Procesamiento del Ciclo de vida de una petición.
  • 13. Escenarios del Ciclo de vida de una petición. Soporta dos tipos diferentes de respuestas y dos tipos distintos de peticiones: Se puede mezclar tanto paginas JSF y no JSF, en función de la petición se origina la respuesta.
  • 14. Escenarios del Ciclo de vida de una petición. Respuesta Faces: Es una respuesta servlet que se genero en la fase “renderizar la respuesta” del ciclo de vida de procesamiento de la respuesta. Respuesta No-Faces: Una respuesta generada por el servlet en la que no se ha ejecutado la fase “Renderizar la respuesta”.
  • 15. Escenarios del Ciclo de vida de una petición. Petición Faces: Petición al servlet que fue enviada desde una respuesta Face previamente generada. Petición No-Faces: Una petición al servlet que fue enviada a un componente de aplicación como un servlet o una pagina Jsp, en vez de directamente a un componente JSF.
  • 16. Escenarios del Ciclo de vida de una petición. Esta combinacion hace posible tres escenarios del ciclo de vida. Escenario 1: Una Petición No-Faces genera una Respuesta Faces: Un ejemplo de este escenario es cuando se pulsa un enlace de una página HTML que abre una página que contiene componentes JSF. Para dibujar una Respuesta Faces desde una petición No-Faces, una aplicación debe proporcionar un mapeo FacesServlet en la URL de la página que contiene componentes JSF. FacesServlet accepta peticiones entrantes y pasa a la implementación del ciclo de vida para su procesamiento. Restaurar vista
  • 17. Escenarios del Ciclo de vida de una petición. • Escenario 2: Una Petición Faces genera una Respuesta No-Faces: Cuando una aplicación JSF podría necesitar redirigir la salida a un recurso diferente de la aplicación Web diferente o generar una respuesta que no contiene componentes JSF. En estas situaciones, el desarrollador debe saltarse la fase de renderizado (Renderizar la Respuesta) llamando a FacesContext.responseComplete. FacesContext Contiene toda la información asociada con una Petición Faces particular. Este método se puede invocar durante las fases Aplicar los Valores de Respuesta, Procesar Validaciones o Actualizar los Valores del Modelo.
  • 18. Escenarios del Ciclo de vida de una petición. • Escenario 3: Una Petición Faces genera una Respuesta Faces: Escenario más común en el ciclo de vida de una aplicación JSF. Este escenario implica componentes JSF enviando una petición a una aplicación JSF utilizando el FacesServlet. Como la petición ha sido manejada por la implementación JSF, la aplicación no necesita pasos adicionales para generar la respuesta. Todos los oyentes, validadores y conversores serán invocados automáticamente durante la fase apropiada del ciclo de vida estándar.
  • 19. Resumen de escenarios Petición JSF genera respuesta JSF: Ciclo de vida completo Petición no-JSF genera respuesta JSF: Restaurar vista Producir respuesta Petición JSF genera respuesta no-JSF (ejemplo: generar XML) Restaurar vista Aplicar valores de la petición Procesar validaciones Actualizar modelo Invocar aplicación Desvío a productor no-JSF
  • 20. Resumen de Ciclo de vida (generación de respuestas) 1. Crear o reusar árbol de componentes 2. Aplicar parámetros de la petición 3. Validar valores obtenidos y ejecutar acciones de eventos de cambio de valor 4. Incorporar datos de la aplicación 5. Ejecutar acciones de eventos a nivel de aplicación (botones, enlaces, etc) 6. Crear respuesta En cada etapa se pueden generar eventos
  • 21. Ciclo de vida de JSF IndicThreads.com Java Meet June 2006
  • 22. Ciclo de vida, II 1 Crear 5 Eventos Aplicación 123 123 3 Validar 2 Pasar 4 Incorporar 6 HTML