SlideShare una empresa de Scribd logo
1 de 33
Curso Java Server Faces
José Zapana
CLASE 1




Page  2
Java Server Faces

 Java Server Faces nace como una JSR (252 )




Page  3
Java Server Faces


 JSF 2.1 (2010-10-22) — Current version. Second maintenance release of
  2.0. Only very minor amount of spec changes.
 JSF 2.0 (2009-06-28) — Major release for ease of use, enhanced
  functionality, and performance. Coincides with Java EE 6.
 JSF 1.2 (2006-05-11) — Many improvements to core systems and APIs.
  Coincides with Java EE 5. Initial adoption into Java EE.
 JSF 1.1 (2004-05-27) — (DEPRECATED) bug fix release. There were no
  spec or HTML renderkit changes.
 JSF 1.0 (2004-03-11) — (DEPRECATED) the initial release of the JSF
  specification. Separate release that wasn't part of any Java EE/J2EE
  release.



Page  4
Java Server Faces


 JSRs correspondientes a Java Server Faces y sus diferentes versiones
 JSR 127 (versión 1.0 y 1.1)
 JSR 252 (versión 1.2 Se corresponde con JEE 5)
 JSR 314 (versión 2.0 Se corresponde con JEE 6 y versión 2.1)
 JSR 316 (JEE 6)
 JSR 344 (versión 2.2 Estado: En progreso)




Page  5
Java Server Faces 2


 JSF 1
 JSP
 Facelets
 Rich Facs
 Ice Faces
 Seam
 Spring Faces
 Woodstock components
…




Page  6
Tips para el mejor aprovechamiento de las nuevas
características de Java Server Faces 2
 Deshacerse de la configuración XML
 Simplificación de la navegación
 Uso de Groovy
 Tomar ventaja del nuevo manejo de recursos




Page  7
Java Server Faces


 La tecnología Java Server Faces establece los estándares para construir
  interfaces de usuarios del lado del servidor.
 La tecnología Java Server Faces provee lo siguiente
  – Un conjunto de APIs para representar componentes de interfaz de usuario y
    gestionar su estado, eventos y validaciones, definir reglas de navegación,
    internacionalización y accesibilidad
  – Una librería de tags para desarrollar las paginas web y conectar componentes
    de interfaz de usuarios con objetos del lado del servidor




Page  8
Java Server Faces


 La tecnología Java Server Faces permite realizar lo siguiente con un
  mínimo esfuerzo:
  – Desarrollar una pagina web.
  – Colocar componentes UI en una pagina web.
  – Enlazar componentes UI con datos del lado del servidor.
  – Enlazar los eventos generados sobre los componentes UI con código del lado
    del servidor.
  – Guardar y recuperar el estado de la aplicación mas allá de la vida de los
    request realizados al servidor
  – Reusar y extender componentes UI a través de la customización




Page  9
Componentes típicos de una aplicación Java Server
Faces
 Un conjunto de paginas web
 Un conjunto de tags de componentes UI para agregar a las paginas web
 Un conjunto de managed beans
 Un archivo web.xml
 Opcionalmente, uno o mas archivos de configuración tales como faces-
  config.xml
 Opcionalmente, un conjunto de objetos customizados como por ejemplo
  componentes, validators, converters, o listeners
 Un conjunto de tags para representar objetos customizados en las
  paginas web




Page  10
Interacción entre el cliente y el servidor
 La pagina web myfacelet.xhtml es construida usando tags de
  componentes UI de Java Server Faces
 myUI es la representación de la pagina web en el servidor
 Ante la petición del cliente la vista es renderizada como un html
 Renderización es el proceso mediante el cual el contenedor web genera
  una salida html o xhtml a partir de la representación de la pagina web en
  el servidor




Page  11
Beneficios de Java Server Faces


 Provee una separación limpia entre la capa de representación y
  comportamiento de una pagina web.
 Separación clara de roles entre diseñadores y programadores
 Es posible usar diferentes tecnologías para la capa de presentación
 Creación y uso de componentes UI customizados
 La tecnología Facelets, disponible como parte de JSF 2.0 se ha
  convertido en opción preferida para la implementación de la capa de
  presentación.




Page  12
Crear una aplicación Java Server Faces simple


 Crear una aplicación Java Server Faces típicamente implica realizar las
  siguientes tareas:
  – Desarrollo de managed beans
  – Desarrollar paginas web
  – Mapear la instancia de FacesServlet




Page  13
Managed Beans
 Un managed bean es un objeto liviano gestionado por el web container.
 Los componentes UI de la pagina web están asociados con managed
  beans que proveen la lógica de la aplicación.
 Ejemplo:




Page  14
Managed Beans




Page  15
Pagina Web
 En una aplicación JSF típica las paginas web son creadas como xhtml
 XHTML es la evolución de HTML.
 XHTML tiene como objetivo es mantener una clara separación entre la
  información y la forma de presentarla
 La sintaxis de XHTML es mas estricta que la de HTML
 La pagina web se enlaza con los managed beans a través de expresiones
  EL




Page  16
Mapear la instancia de FacesServlet


Es necesario mapear la instancia del servlet Faces Servlet en
 el archivo web.xml




Page  17
Ciclo de vida

Toda aplicación web tiene un ciclo de vida para un request
Por defecto JSF maneja la gran parte del ciclo de vida de un request
Sin embargo JSF ofrece etapas del ciclo de vida de un request en donde es posible
  realizar acciones customizadas.
No es necesario conocer el ciclo de vida de JSF para un desarrollador pero su
 entendimiento permite realizar aplicaciones mas complejas.




Page  18
Facelets


 La tecnología JSP fue usada anteriormente como la tecnología por
  defecto para la capa de presentación en JSF
 A partir de JSF 2.0 la tecnología Facelets es la tecnología por defecto a
  utilizar para la capa de presentación de aplicaciones JSF




Page  19
Que es Facelets?
 Facelets es un lenguaje de declaración de vista poderoso pero liviano
 Las características de facelets son las siguientes:
  – Uso de XHTML
  – Soporte para librerías de tags Facelets
  – Soporte para librerías de tags JSTL
  – Soporte para el lenguaje de expresión EL
  – Templates de componentes y paginas
 Ventajas del uso de Facelets en aplicaciones de gran escala
  – Soporte para el reuso de código a través de templates de componentes y
    paginas
  – Funcionalidad extensible para componentes UI y objetos del lado del servidor a
    través de la customización
  – Tiempo de compilación rápido
  – Validación de expresiones EL en tiempo de compilación
  – Alto rendimiento en el proceso de renderización
Page  20
Librería de Tags soportadas




Page  21
Creación de una aplicación Facelets


 Pasos generales para la creación de una aplicación JSF
  – Desarrollo de managed beans
  – Desarrollo de paginas web usando tags
  – Definición de navegación de paginas
  – Mapeo de la instancia FacesServlet
  – Agregar declaraciones de managed beans




Page  22
Creación de una aplicación Facelets


 Aplicación ―Adivine el numero‖




Page  23
Desarrollo de managed beans

 Cada pagina web de la aplicación se
  conecta a uno o mas managed beans
 Los managed beans definen
  propiedades y métodos relacionados
  con los componentes de la pagina
  web.
 La creación de managed beans suele
  ser responsabilidad del arquitecto
 La implementación del comportamiento
  o lógica de negocios en los managed
  beans suele ser responsabilidad de los
  desarrolladores




Page  24
Desarrollo de paginas web
 La creación de las paginas suele ser responsabilidad de los arquitectos.
 El diseño de las paginas web es responsabilidad de los desarrolladores
 El diseño involucra agregar tags, enlazar managed beans con componentes
  UI y registrar Converters, Validators o Listeners
 En la sección 1 se definió el tipo de contenido para la pagina web, en este
  caso XHTML
 En la sección 2 se define el idioma y las librerias de tags que de van a usar



                                                                      1


                                                        2



Page  25
Desarrollo de paginas web




Page  26
Desarrollo de paginas web




Page  27
Simplificación de la navegación
JSF 1.2




JSF 2




Page  28
Configuración de la aplicación




Page  29
Recursos


 Los recursos web son todos aquellos artefactos de software que una
  aplicación web requiere para rendirizar una pagina web de manera
  completa, estos recursos comprenden, imágenes, scripts, librerías de
  componentes, etc.
 Los recursos web deben estar ubicados en una ubicación estándar que
  puede ser cualquiera de las siguientes:
  – web-application-root/resources/resource-identifier
  – META-INF/resources/
  – META-INF/resources/resource-identifier


 Java Server Faces buscara los recursos web en las ubicaciones
  anteriores en tiempo de ejecución


Page  30
Recursos




Page  31
Recursos




Page  32
Preguntas




Page  33

Más contenido relacionado

La actualidad más candente

Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsflauritat_9
 
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONESJAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONESEric Gustavo Coronel Castillo
 
Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsflauritat_9
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)UTN
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server FacesPaco_1994
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7Carlos Camacho
 
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoIntegración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoPablo Ignacio de la Vega
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 

La actualidad más candente (19)

06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsf
 
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONESJAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES
JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES
 
Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsf
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Asp
AspAsp
Asp
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoIntegración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Spring
SpringSpring
Spring
 
patron de diseño MVVMo.pptx
patron de diseño MVVMo.pptxpatron de diseño MVVMo.pptx
patron de diseño MVVMo.pptx
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 

Destacado

Destacado (20)

JAVA 2 EE
JAVA 2 EEJAVA 2 EE
JAVA 2 EE
 
Innovaciones tecnológicas
Innovaciones tecnológicasInnovaciones tecnológicas
Innovaciones tecnológicas
 
Sesion05
Sesion05Sesion05
Sesion05
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEE
 
Lenguaje de Programación Ruby
Lenguaje de Programación RubyLenguaje de Programación Ruby
Lenguaje de Programación Ruby
 
XML
XMLXML
XML
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Base datos
Base datosBase datos
Base datos
 
LENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RLENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION R
 
Java script
Java scriptJava script
Java script
 
MVC: La Vista
MVC: La VistaMVC: La Vista
MVC: La Vista
 
Faces de putrefacción
Faces de putrefacciónFaces de putrefacción
Faces de putrefacción
 
Tema 4 Fenomenos Cadavericos
Tema 4   Fenomenos CadavericosTema 4   Fenomenos Cadavericos
Tema 4 Fenomenos Cadavericos
 
Fenomenos Cadavericos
Fenomenos CadavericosFenomenos Cadavericos
Fenomenos Cadavericos
 
Cambios postmortem
Cambios postmortem Cambios postmortem
Cambios postmortem
 
FENOMENOS CADAVERICOS
FENOMENOS CADAVERICOSFENOMENOS CADAVERICOS
FENOMENOS CADAVERICOS
 

Similar a 1 curso javaserverfaces-presentacion_clase_1

[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server FacesEudris Cabrera
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo WebEmilio Aviles Avila
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)René Pilataxi
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1UTN
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webFelipe
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Pedro Gallardo
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalConstruyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalRefundation
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfPedro Gallardo
 

Similar a 1 curso javaserverfaces-presentacion_clase_1 (20)

[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server Faces
 
Expo
ExpoExpo
Expo
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Curso richfaces 3.3.3 I
Curso richfaces 3.3.3 ICurso richfaces 3.3.3 I
Curso richfaces 3.3.3 I
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Web Developer
Web DeveloperWeb Developer
Web Developer
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalConstruyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
 

1 curso javaserverfaces-presentacion_clase_1

  • 1. Curso Java Server Faces José Zapana
  • 3. Java Server Faces  Java Server Faces nace como una JSR (252 ) Page  3
  • 4. Java Server Faces  JSF 2.1 (2010-10-22) — Current version. Second maintenance release of 2.0. Only very minor amount of spec changes.  JSF 2.0 (2009-06-28) — Major release for ease of use, enhanced functionality, and performance. Coincides with Java EE 6.  JSF 1.2 (2006-05-11) — Many improvements to core systems and APIs. Coincides with Java EE 5. Initial adoption into Java EE.  JSF 1.1 (2004-05-27) — (DEPRECATED) bug fix release. There were no spec or HTML renderkit changes.  JSF 1.0 (2004-03-11) — (DEPRECATED) the initial release of the JSF specification. Separate release that wasn't part of any Java EE/J2EE release. Page  4
  • 5. Java Server Faces  JSRs correspondientes a Java Server Faces y sus diferentes versiones  JSR 127 (versión 1.0 y 1.1)  JSR 252 (versión 1.2 Se corresponde con JEE 5)  JSR 314 (versión 2.0 Se corresponde con JEE 6 y versión 2.1)  JSR 316 (JEE 6)  JSR 344 (versión 2.2 Estado: En progreso) Page  5
  • 6. Java Server Faces 2  JSF 1  JSP  Facelets  Rich Facs  Ice Faces  Seam  Spring Faces  Woodstock components … Page  6
  • 7. Tips para el mejor aprovechamiento de las nuevas características de Java Server Faces 2  Deshacerse de la configuración XML  Simplificación de la navegación  Uso de Groovy  Tomar ventaja del nuevo manejo de recursos Page  7
  • 8. Java Server Faces  La tecnología Java Server Faces establece los estándares para construir interfaces de usuarios del lado del servidor.  La tecnología Java Server Faces provee lo siguiente – Un conjunto de APIs para representar componentes de interfaz de usuario y gestionar su estado, eventos y validaciones, definir reglas de navegación, internacionalización y accesibilidad – Una librería de tags para desarrollar las paginas web y conectar componentes de interfaz de usuarios con objetos del lado del servidor Page  8
  • 9. Java Server Faces  La tecnología Java Server Faces permite realizar lo siguiente con un mínimo esfuerzo: – Desarrollar una pagina web. – Colocar componentes UI en una pagina web. – Enlazar componentes UI con datos del lado del servidor. – Enlazar los eventos generados sobre los componentes UI con código del lado del servidor. – Guardar y recuperar el estado de la aplicación mas allá de la vida de los request realizados al servidor – Reusar y extender componentes UI a través de la customización Page  9
  • 10. Componentes típicos de una aplicación Java Server Faces  Un conjunto de paginas web  Un conjunto de tags de componentes UI para agregar a las paginas web  Un conjunto de managed beans  Un archivo web.xml  Opcionalmente, uno o mas archivos de configuración tales como faces- config.xml  Opcionalmente, un conjunto de objetos customizados como por ejemplo componentes, validators, converters, o listeners  Un conjunto de tags para representar objetos customizados en las paginas web Page  10
  • 11. Interacción entre el cliente y el servidor  La pagina web myfacelet.xhtml es construida usando tags de componentes UI de Java Server Faces  myUI es la representación de la pagina web en el servidor  Ante la petición del cliente la vista es renderizada como un html  Renderización es el proceso mediante el cual el contenedor web genera una salida html o xhtml a partir de la representación de la pagina web en el servidor Page  11
  • 12. Beneficios de Java Server Faces  Provee una separación limpia entre la capa de representación y comportamiento de una pagina web.  Separación clara de roles entre diseñadores y programadores  Es posible usar diferentes tecnologías para la capa de presentación  Creación y uso de componentes UI customizados  La tecnología Facelets, disponible como parte de JSF 2.0 se ha convertido en opción preferida para la implementación de la capa de presentación. Page  12
  • 13. Crear una aplicación Java Server Faces simple  Crear una aplicación Java Server Faces típicamente implica realizar las siguientes tareas: – Desarrollo de managed beans – Desarrollar paginas web – Mapear la instancia de FacesServlet Page  13
  • 14. Managed Beans  Un managed bean es un objeto liviano gestionado por el web container.  Los componentes UI de la pagina web están asociados con managed beans que proveen la lógica de la aplicación.  Ejemplo: Page  14
  • 16. Pagina Web  En una aplicación JSF típica las paginas web son creadas como xhtml  XHTML es la evolución de HTML.  XHTML tiene como objetivo es mantener una clara separación entre la información y la forma de presentarla  La sintaxis de XHTML es mas estricta que la de HTML  La pagina web se enlaza con los managed beans a través de expresiones EL Page  16
  • 17. Mapear la instancia de FacesServlet Es necesario mapear la instancia del servlet Faces Servlet en el archivo web.xml Page  17
  • 18. Ciclo de vida Toda aplicación web tiene un ciclo de vida para un request Por defecto JSF maneja la gran parte del ciclo de vida de un request Sin embargo JSF ofrece etapas del ciclo de vida de un request en donde es posible realizar acciones customizadas. No es necesario conocer el ciclo de vida de JSF para un desarrollador pero su entendimiento permite realizar aplicaciones mas complejas. Page  18
  • 19. Facelets  La tecnología JSP fue usada anteriormente como la tecnología por defecto para la capa de presentación en JSF  A partir de JSF 2.0 la tecnología Facelets es la tecnología por defecto a utilizar para la capa de presentación de aplicaciones JSF Page  19
  • 20. Que es Facelets?  Facelets es un lenguaje de declaración de vista poderoso pero liviano  Las características de facelets son las siguientes: – Uso de XHTML – Soporte para librerías de tags Facelets – Soporte para librerías de tags JSTL – Soporte para el lenguaje de expresión EL – Templates de componentes y paginas  Ventajas del uso de Facelets en aplicaciones de gran escala – Soporte para el reuso de código a través de templates de componentes y paginas – Funcionalidad extensible para componentes UI y objetos del lado del servidor a través de la customización – Tiempo de compilación rápido – Validación de expresiones EL en tiempo de compilación – Alto rendimiento en el proceso de renderización Page  20
  • 21. Librería de Tags soportadas Page  21
  • 22. Creación de una aplicación Facelets  Pasos generales para la creación de una aplicación JSF – Desarrollo de managed beans – Desarrollo de paginas web usando tags – Definición de navegación de paginas – Mapeo de la instancia FacesServlet – Agregar declaraciones de managed beans Page  22
  • 23. Creación de una aplicación Facelets  Aplicación ―Adivine el numero‖ Page  23
  • 24. Desarrollo de managed beans  Cada pagina web de la aplicación se conecta a uno o mas managed beans  Los managed beans definen propiedades y métodos relacionados con los componentes de la pagina web.  La creación de managed beans suele ser responsabilidad del arquitecto  La implementación del comportamiento o lógica de negocios en los managed beans suele ser responsabilidad de los desarrolladores Page  24
  • 25. Desarrollo de paginas web  La creación de las paginas suele ser responsabilidad de los arquitectos.  El diseño de las paginas web es responsabilidad de los desarrolladores  El diseño involucra agregar tags, enlazar managed beans con componentes UI y registrar Converters, Validators o Listeners  En la sección 1 se definió el tipo de contenido para la pagina web, en este caso XHTML  En la sección 2 se define el idioma y las librerias de tags que de van a usar 1 2 Page  25
  • 26. Desarrollo de paginas web Page  26
  • 27. Desarrollo de paginas web Page  27
  • 28. Simplificación de la navegación JSF 1.2 JSF 2 Page  28
  • 29. Configuración de la aplicación Page  29
  • 30. Recursos  Los recursos web son todos aquellos artefactos de software que una aplicación web requiere para rendirizar una pagina web de manera completa, estos recursos comprenden, imágenes, scripts, librerías de componentes, etc.  Los recursos web deben estar ubicados en una ubicación estándar que puede ser cualquiera de las siguientes: – web-application-root/resources/resource-identifier – META-INF/resources/ – META-INF/resources/resource-identifier  Java Server Faces buscara los recursos web en las ubicaciones anteriores en tiempo de ejecución Page  30