SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Introdución a JSF

               Curso : Java EE




División de Alta Tecnología
Contenido del capitulo

TEMAS


1. ¿Qué es el JSF? ¿Qué es un UI Component?


2. Conceptos de convertidores, validaciones, eventos y
   listeners


3. Definición de Facets


4. Conceptos de renders y renders Kit


5. Ciclo de Vida de componentes JSF


División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?


‡La tecnología JavaServer Faces constituye un marco de
trabajo (framework) de interfaces de usuario del lado
de servidor para:
 ‡ Desarrollar aplicaciones web basadas en tecnología Java
 ‡ Utilizando el patrón MVC (Modelo Vista Controlador).




División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?
‡El objetivo de la tecnología JavaServer Faces es desarrollar
aplicaciones web de forma parecida a como se construyen
aplicaciones locales con Java tales como:
 1. Swing, AWT (Abstract Window Toolkit), SWT (Standard Widget
 Toolkit) o cualquier otra API similar..


‡JavaServer Faces pretende facilitar la construcción de estas
aplicaciones proporcionando un entorno de trabajo (framework) vía
web que gestione:
 ‡ Las acciones producidas por el usuario en su página HTML
 ‡ Las traduce a eventos que son enviados al servidor con el objetivo
 de:
    ‡ Regenerar la página original
    ‡ Reflejar los cambios pertinentes provocados por dichas
    acciones.




División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?


‡Componentes principales
 ‡Los principales componentes de la tecnología JavaServer Faces son:


    ‡ Una API y una implementación de referencia para:
          ‡ Representar componentes de interfaz de usuario (UI-User Interface) y
          manejar su estado
          ‡ Manejar eventos, validar en el lado del servidor y convertir datos
    ‡ Definir la navegación entre páginas
    ‡ Soportar internacionalización y accesibilidad, y
    ‡ Proporcionar extensibilidad para todas estas características.
    ‡ Una librería de etiquetas JavaServer Pages (JSP) personalizadas para
    dibujar componentes UI dentro de una página JSP.




División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?




          Fuente: Web Reference - http://www.webreference.com/programming/java_server/2.html



División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?

‡Características principales
 ‡La   página    JSP,   miform.jsp, especifica
 componentes de la interfaz de usuario
 mediante etiquetas personalizadas definidas
 por la tecnología JSF.
 ‡LA UI de la aplicación web (representada por
 miUI en la figura) maneja los objetos
 referenciados por la JSP, que pueden ser de
 los siguientes tipos:
     ‡ Objetos componentes que mapean las
     etiquetas sobre la página JSP.
     ‡ Oyentes    de eventos, validadores y
     convertidores registrados y asociados a
     los componentes.
     ‡ Objetos del modelo que encapsulan los     Diagrama de una aplicación JSF
     datos y las funcionalidades de los
     componentes específicos de la aplicación
     (lógica de negocio).




División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?

‡UI Component


‡Son los controles que permiten componer la interfaz de
usuario (listados, botones, etc.)
 1. Todos implementan la interfaz UIComponent, que permite moverse por el
    árbol de componentes, añadir facetas, validadores, atributos, etc.



‡Los componentes tienen dos partes:
 ‡   El componente en si (que implementa la funcionalidad)
 ‡   El productor (renderer).
      ‡   Así, por ejemplo, un campo de entrada normal
      ‡   O uno de contraseña sólo se distinguen por el productor, siendo el componente igual para ambos
          (UIInput).




División de Alta Tecnología
¿Qué es el JSF? ¿Qué es un UI Component?

‡UI Component
‡La tecnología JavaServer Faces proporciona una arquitectura de
componentes rica y flexible que incluye:


     ‡ Un conjunto de clases UIComponent para especificar el estado
     y comportamiento de componentes UI.
     ‡ Un modelo de Producción(renderizado) que define cómo
     producir(renderizar) los componentes de diferentes formas.
     ‡ Un modelo de eventos y oyentes que define cómo manejar los
     eventos de los componentes.
     ‡ Un modelo de conversión que define           cómo   conectar
     convertidores de datos a un componente.
     ‡ Un modelo de validación que define cómo registrar validadores
     con un componente




División de Alta Tecnología
Conceptos de convertidores, validaciones,
              eventos y listeners
‡Convertidores


‡Sirven para convertir de objeto a cadena y de cadena a objeto.
Implementan la interfaz Converter.
 1. Pueden tener parámetros, que se pueden fijar usando el tag f:attribute o a través de
    setters y getters (proveyendo además un tag personalizado para su uso, al estilo de los
    validadores).
 2. Todos los componentes que heredan de UIOutput pueden tener un convertidor
    asociado.

‡Los tags personalizados deben añadir los convertidores por medio
del método setConverter del interfaz UIComponent.
‡Se declaran en el archivo de configuración de JSF.
 1. Pueden tener un tipo asociado, en cuyo caso, no es necesario declararlos
    explícitamente en los JSPs, sino que JSF los invocan automáticamente en función del
    tipo de campo de los beans. Para definir un convertidor para un tipo explícito hay que
    usar <converter-for-class> en el fichero de configuración.




División de Alta Tecnología
Conceptos de convertidores, validaciones,
               eventos y listeners
‡Validadores
‡ El sistema JSF procesa todas las validaciones registradas con los
componentes JSF.
‡Examina los atributos del componente especificados por las reglas de
validación y evalúa las reglas con los valores de dichos atributos.
‡Si un valor incumple una regla, la implementación JSF añade un
mensaje de error y se produce(renderize) la respuesta para que se
dibuje en la página incluyendo los mensajes de error.
‡   Por ejemplo: Existe un atributo en todos los tags de entrada
    llamado "required" que es de tipo boolean y que define si se debe
    asignar un validador que obligue a rellenar el campo.
‡   Aparte de este atributo, existen algunos validadores estándar de
    JSF como, p.e., validadores de rango.
‡   Pueden recibir parámetros siempre que se implementen como
    clases aparte deben cumplir la interfaz Validator.




División de Alta Tecnología
Conceptos de convertidores, validaciones,
              eventos y listeners
‡Eventos
‡Cada evento debe definir una interfaz oyente personalizada. Dicha
interfaz debe heredar de FacesListener.
 1. Igualmente, se suele definir otra interfaz para los componentes que generan eventos
    de un determinado tipo.
 2. Por ejemplo: se define ActionSource para componentes que generan ActionEvents.



‡Todos los eventos heredan de FacesEvent.
 1. Se recomienda que todas las clases de eventos acaben con el sufijo Event.
 2. Se pueden crear eventos personalizados.



‡JSF define sólo dos tipos de evento y sus correspondientes oyentes:
 1. ActionEvent/ActionListener: lanzado por componentes UICommand.
 2. ValueChangedEvent/ValueChangeListener: lanzado por componentes UIInput.




División de Alta Tecnología
Conceptos de convertidores, validaciones,
                eventos y listeners
‡Oyentes (Listeners)
‡Cada componente debe tener un método addLoQueSeaListener y otro
removeLoQueSeaListener por cada interfaz oyente que pueda
notificar.
 ‡   Para registrar un oyente hay que usar su correspondiente tag personalizado. Por
     ejemplo:


      <h:loQueSea>
      <f:valueChangeListener
      type="oyente.configurado.en.faces.config"/>
      </h:loQueSea>



‡Toda implementación de oyente debe devolver en el método
getPhaseId() la fase del ciclo de vida en la que desea recibir el
evento.
 1. Los eventos se van encolando y procesando en el FacesContext a medida que el ciclo de
    vida va avanzando.




División de Alta Tecnología
Facetas (Facets)

‡Facetas (Facets)


‡   Son componentes hijos de otro componente pero que cumplen una
    función especial.
‡   Son relaciones que pueden ser ortogonales y existir fuera del árbol
    de componentes.
‡   Por ejemplo: las etiquetas de título del control de pestañas, las
    cabeceras de las tablas, etc.




División de Alta Tecnología
Conceptos de renders y renders Kit

‡Productor(Renderer)


Existen dos formas de producción:
‡Directa: sobreescribiendo los métodos: decode, encodeBegin,
encodeChildren y encodeEnd, así como getRendererType() para que
devuelva null.
‡Delegada: se basa en clases que heredan de la clase abstracta
Renderer.
 1. Para delegar en un productor hay que hacer que getRendererType() devuelva el tipo de
    productor a usar. JSF le pedirá ese tipo de productor al RenderKit en uso.




División de Alta Tecnología
Kits de producción (render kits)

‡ Heredan de RenderKit.
‡ Suponen una colección de productores especializados
  para cierto tipo de dispositivos. Por ejemplo:
  podemos tener un kit para HTML y otro para WML.
‡ Los kits de definen en faces-config:
    <render-kit>
    ...
    <renderer>
    <renderer-type>tipo.logico.de.renderer</renderer-type>

    <renderer-class>clase.renderer</renderer-class>

    </renderer>
    ...
    </render-kit>



División de Alta Tecnología
Ciclo de Vida de componentes JSF

‡ Ciclo de vida JSF


‡ El ciclo de vida de una página JavaServer Faces page es
  similar al de una página JSP:


 ‡   El cliente hace una petición HTTP (Hiper Text Transfer Protocol) de la
     página y el servidor responde con la página traducida a HTML.


 ‡   Sin embargo, debido a las características extras que ofrece la tecnología
     JavaServer Faces, el ciclo de vida proporciona algunos servicios
     adicionales mediante la ejecución de algunos pasos extras.




División de Alta Tecnología
Ciclo de Vida de componentes JSF




División de Alta Tecnología
Ciclo de Vida de componentes JSF

‡ Ciclo de vida JSF
  El ciclo de vida completo es:
    ‡ Restaurar vista
    ‡ Aplicar valores de la petición
    ‡ Procesar validaciones
    ‡ Actualizar modelo
    ‡ Invocar aplicación
    ‡ Producir respuesta




División de Alta Tecnología
Ciclo de Vida de componentes JSF

‡ Escenarios del Ciclo de vida JSF
‡   Existen tres escenarios posibles. Cada escenario pasa por distintas
    fases del ciclo de vida:
     ‡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




División de Alta Tecnología
Ciclo de Vida de componentes JSF

‡ Laboratorio 1




División de Alta Tecnología

Más contenido relacionado

La actualidad más candente (19)

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
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
Capitulo3 jsf
Capitulo3 jsfCapitulo3 jsf
Capitulo3 jsf
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Vb entorno manual
Vb entorno manualVb entorno manual
Vb entorno manual
 
spring
springspring
spring
 
UDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridadUDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridad
 
Android
AndroidAndroid
Android
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Diapos de topicos
Diapos de topicosDiapos de topicos
Diapos de topicos
 
Curso JSF - Conceptos Basicos
Curso JSF - Conceptos BasicosCurso JSF - Conceptos Basicos
Curso JSF - Conceptos Basicos
 
Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
Clase 14 intro ej bs
Clase 14  intro ej bsClase 14  intro ej bs
Clase 14 intro ej bs
 
UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6
 
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
 
UDA-Guia de desarrollo
UDA-Guia de desarrolloUDA-Guia de desarrollo
UDA-Guia de desarrollo
 
UDA-Componentes RUP. Formulario
UDA-Componentes RUP. FormularioUDA-Componentes RUP. Formulario
UDA-Componentes RUP. Formulario
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 

Destacado

Destacado (20)

Java server faces
Java server facesJava server faces
Java server faces
 
Manualoracle 1
Manualoracle 1Manualoracle 1
Manualoracle 1
 
Fundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10gFundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10g
 
Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02
 
Oracle
OracleOracle
Oracle
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Manula Oracle 2
Manula Oracle 2Manula Oracle 2
Manula Oracle 2
 
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
 
Tutorial Jsf
Tutorial JsfTutorial Jsf
Tutorial Jsf
 
Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’s
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Tipos de Datos de Oracle
Tipos de Datos de OracleTipos de Datos de Oracle
Tipos de Datos de Oracle
 
Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11
 
FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
 FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
 
Manual Jsf
Manual JsfManual Jsf
Manual Jsf
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)
 
T12 ORACLE
T12 ORACLET12 ORACLE
T12 ORACLE
 

Similar a Jsf jpa-y-hibernate-capitulo-01

Similar a Jsf jpa-y-hibernate-capitulo-01 (20)

1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
 
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)
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
Curso richfaces 3.3.3 I
Curso richfaces 3.3.3 ICurso richfaces 3.3.3 I
Curso richfaces 3.3.3 I
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
Expo
ExpoExpo
Expo
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
J2 ee
J2 eeJ2 ee
J2 ee
 
J2ee
J2eeJ2ee
J2ee
 
01 introducción
01 introducción01 introducción
01 introducción
 
Controles swing
Controles swingControles swing
Controles swing
 
Spring
SpringSpring
Spring
 
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
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
 
Tutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosTutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasos
 
Trabajo de java
Trabajo de javaTrabajo de java
Trabajo de java
 
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
 
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)
 
Programacion.....swing
Programacion.....swingProgramacion.....swing
Programacion.....swing
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (19)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Jsf jpa-y-hibernate-capitulo-01

  • 1. Introdución a JSF Curso : Java EE División de Alta Tecnología
  • 2. Contenido del capitulo TEMAS 1. ¿Qué es el JSF? ¿Qué es un UI Component? 2. Conceptos de convertidores, validaciones, eventos y listeners 3. Definición de Facets 4. Conceptos de renders y renders Kit 5. Ciclo de Vida de componentes JSF División de Alta Tecnología
  • 3. ¿Qué es el JSF? ¿Qué es un UI Component? ‡La tecnología JavaServer Faces constituye un marco de trabajo (framework) de interfaces de usuario del lado de servidor para: ‡ Desarrollar aplicaciones web basadas en tecnología Java ‡ Utilizando el patrón MVC (Modelo Vista Controlador). División de Alta Tecnología
  • 4. ¿Qué es el JSF? ¿Qué es un UI Component? ‡El objetivo de la tecnología JavaServer Faces es desarrollar aplicaciones web de forma parecida a como se construyen aplicaciones locales con Java tales como: 1. Swing, AWT (Abstract Window Toolkit), SWT (Standard Widget Toolkit) o cualquier otra API similar.. ‡JavaServer Faces pretende facilitar la construcción de estas aplicaciones proporcionando un entorno de trabajo (framework) vía web que gestione: ‡ Las acciones producidas por el usuario en su página HTML ‡ Las traduce a eventos que son enviados al servidor con el objetivo de: ‡ Regenerar la página original ‡ Reflejar los cambios pertinentes provocados por dichas acciones. División de Alta Tecnología
  • 5. ¿Qué es el JSF? ¿Qué es un UI Component? ‡Componentes principales ‡Los principales componentes de la tecnología JavaServer Faces son: ‡ Una API y una implementación de referencia para: ‡ Representar componentes de interfaz de usuario (UI-User Interface) y manejar su estado ‡ Manejar eventos, validar en el lado del servidor y convertir datos ‡ Definir la navegación entre páginas ‡ Soportar internacionalización y accesibilidad, y ‡ Proporcionar extensibilidad para todas estas características. ‡ Una librería de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una página JSP. División de Alta Tecnología
  • 6. ¿Qué es el JSF? ¿Qué es un UI Component? Fuente: Web Reference - http://www.webreference.com/programming/java_server/2.html División de Alta Tecnología
  • 7. ¿Qué es el JSF? ¿Qué es un UI Component? ‡Características principales ‡La página JSP, miform.jsp, especifica componentes de la interfaz de usuario mediante etiquetas personalizadas definidas por la tecnología JSF. ‡LA UI de la aplicación web (representada por miUI en la figura) maneja los objetos referenciados por la JSP, que pueden ser de los siguientes tipos: ‡ Objetos componentes que mapean las etiquetas sobre la página JSP. ‡ Oyentes de eventos, validadores y convertidores registrados y asociados a los componentes. ‡ Objetos del modelo que encapsulan los Diagrama de una aplicación JSF datos y las funcionalidades de los componentes específicos de la aplicación (lógica de negocio). División de Alta Tecnología
  • 8. ¿Qué es el JSF? ¿Qué es un UI Component? ‡UI Component ‡Son los controles que permiten componer la interfaz de usuario (listados, botones, etc.) 1. Todos implementan la interfaz UIComponent, que permite moverse por el árbol de componentes, añadir facetas, validadores, atributos, etc. ‡Los componentes tienen dos partes: ‡ El componente en si (que implementa la funcionalidad) ‡ El productor (renderer). ‡ Así, por ejemplo, un campo de entrada normal ‡ O uno de contraseña sólo se distinguen por el productor, siendo el componente igual para ambos (UIInput). División de Alta Tecnología
  • 9. ¿Qué es el JSF? ¿Qué es un UI Component? ‡UI Component ‡La tecnología JavaServer Faces proporciona una arquitectura de componentes rica y flexible que incluye: ‡ Un conjunto de clases UIComponent para especificar el estado y comportamiento de componentes UI. ‡ Un modelo de Producción(renderizado) que define cómo producir(renderizar) los componentes de diferentes formas. ‡ Un modelo de eventos y oyentes que define cómo manejar los eventos de los componentes. ‡ Un modelo de conversión que define cómo conectar convertidores de datos a un componente. ‡ Un modelo de validación que define cómo registrar validadores con un componente División de Alta Tecnología
  • 10. Conceptos de convertidores, validaciones, eventos y listeners ‡Convertidores ‡Sirven para convertir de objeto a cadena y de cadena a objeto. Implementan la interfaz Converter. 1. Pueden tener parámetros, que se pueden fijar usando el tag f:attribute o a través de setters y getters (proveyendo además un tag personalizado para su uso, al estilo de los validadores). 2. Todos los componentes que heredan de UIOutput pueden tener un convertidor asociado. ‡Los tags personalizados deben añadir los convertidores por medio del método setConverter del interfaz UIComponent. ‡Se declaran en el archivo de configuración de JSF. 1. Pueden tener un tipo asociado, en cuyo caso, no es necesario declararlos explícitamente en los JSPs, sino que JSF los invocan automáticamente en función del tipo de campo de los beans. Para definir un convertidor para un tipo explícito hay que usar <converter-for-class> en el fichero de configuración. División de Alta Tecnología
  • 11. Conceptos de convertidores, validaciones, eventos y listeners ‡Validadores ‡ El sistema JSF procesa todas las validaciones registradas con los componentes JSF. ‡Examina los atributos del componente especificados por las reglas de validación y evalúa las reglas con los valores de dichos atributos. ‡Si un valor incumple una regla, la implementación JSF añade un mensaje de error y se produce(renderize) la respuesta para que se dibuje en la página incluyendo los mensajes de error. ‡ Por ejemplo: Existe un atributo en todos los tags de entrada llamado "required" que es de tipo boolean y que define si se debe asignar un validador que obligue a rellenar el campo. ‡ Aparte de este atributo, existen algunos validadores estándar de JSF como, p.e., validadores de rango. ‡ Pueden recibir parámetros siempre que se implementen como clases aparte deben cumplir la interfaz Validator. División de Alta Tecnología
  • 12. Conceptos de convertidores, validaciones, eventos y listeners ‡Eventos ‡Cada evento debe definir una interfaz oyente personalizada. Dicha interfaz debe heredar de FacesListener. 1. Igualmente, se suele definir otra interfaz para los componentes que generan eventos de un determinado tipo. 2. Por ejemplo: se define ActionSource para componentes que generan ActionEvents. ‡Todos los eventos heredan de FacesEvent. 1. Se recomienda que todas las clases de eventos acaben con el sufijo Event. 2. Se pueden crear eventos personalizados. ‡JSF define sólo dos tipos de evento y sus correspondientes oyentes: 1. ActionEvent/ActionListener: lanzado por componentes UICommand. 2. ValueChangedEvent/ValueChangeListener: lanzado por componentes UIInput. División de Alta Tecnología
  • 13. Conceptos de convertidores, validaciones, eventos y listeners ‡Oyentes (Listeners) ‡Cada componente debe tener un método addLoQueSeaListener y otro removeLoQueSeaListener por cada interfaz oyente que pueda notificar. ‡ Para registrar un oyente hay que usar su correspondiente tag personalizado. Por ejemplo: <h:loQueSea> <f:valueChangeListener type="oyente.configurado.en.faces.config"/> </h:loQueSea> ‡Toda implementación de oyente debe devolver en el método getPhaseId() la fase del ciclo de vida en la que desea recibir el evento. 1. Los eventos se van encolando y procesando en el FacesContext a medida que el ciclo de vida va avanzando. División de Alta Tecnología
  • 14. Facetas (Facets) ‡Facetas (Facets) ‡ Son componentes hijos de otro componente pero que cumplen una función especial. ‡ Son relaciones que pueden ser ortogonales y existir fuera del árbol de componentes. ‡ Por ejemplo: las etiquetas de título del control de pestañas, las cabeceras de las tablas, etc. División de Alta Tecnología
  • 15. Conceptos de renders y renders Kit ‡Productor(Renderer) Existen dos formas de producción: ‡Directa: sobreescribiendo los métodos: decode, encodeBegin, encodeChildren y encodeEnd, así como getRendererType() para que devuelva null. ‡Delegada: se basa en clases que heredan de la clase abstracta Renderer. 1. Para delegar en un productor hay que hacer que getRendererType() devuelva el tipo de productor a usar. JSF le pedirá ese tipo de productor al RenderKit en uso. División de Alta Tecnología
  • 16. Kits de producción (render kits) ‡ Heredan de RenderKit. ‡ Suponen una colección de productores especializados para cierto tipo de dispositivos. Por ejemplo: podemos tener un kit para HTML y otro para WML. ‡ Los kits de definen en faces-config: <render-kit> ... <renderer> <renderer-type>tipo.logico.de.renderer</renderer-type> <renderer-class>clase.renderer</renderer-class> </renderer> ... </render-kit> División de Alta Tecnología
  • 17. Ciclo de Vida de componentes JSF ‡ Ciclo de vida JSF ‡ El ciclo de vida de una página JavaServer Faces page es similar al de una página JSP: ‡ El cliente hace una petición HTTP (Hiper Text Transfer Protocol) de la página y el servidor responde con la página traducida a HTML. ‡ Sin embargo, debido a las características extras que ofrece la tecnología JavaServer Faces, el ciclo de vida proporciona algunos servicios adicionales mediante la ejecución de algunos pasos extras. División de Alta Tecnología
  • 18. Ciclo de Vida de componentes JSF División de Alta Tecnología
  • 19. Ciclo de Vida de componentes JSF ‡ Ciclo de vida JSF El ciclo de vida completo es: ‡ Restaurar vista ‡ Aplicar valores de la petición ‡ Procesar validaciones ‡ Actualizar modelo ‡ Invocar aplicación ‡ Producir respuesta División de Alta Tecnología
  • 20. Ciclo de Vida de componentes JSF ‡ Escenarios del Ciclo de vida JSF ‡ Existen tres escenarios posibles. Cada escenario pasa por distintas fases del ciclo de vida: ‡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 División de Alta Tecnología
  • 21. Ciclo de Vida de componentes JSF ‡ Laboratorio 1 División de Alta Tecnología