contenedores y javaserver faces › ~isis...• aplicación web es una extensión dinámica de un...
Post on 06-Jul-2020
3 Views
Preview:
TRANSCRIPT
DEPARTAMENTO DE SISTEMAS
Contenedores y JavaServer Faces
1
DEPARTAMENTO DE SISTEMAS
Agenda
• Introducción • Contenedores • Contenedor Glassflish • Tecnología JavaServer Faces
o Definición JSF o Navegación o Backing Beans o JSF Tags o Conversión y Validación o Manejo de Eventos
2
DEPARTAMENTO DE SISTEMAS
• La arquitectura JEE es independiente de la plataforma y utiliza componentes reutilizables
• El servidor JEE provee los servicios en la forma de un contenedor (container) para cada tipo de componente.
• El desarrollador se concentra en resolver problemas del lógica de negocio.
Introducción
3
DEPARTAMENTO DE SISTEMAS
Introducción
4
Resolver problemas a nivel de: - Transacciones - Persistencia - Distribución de objetos - Administración de conexiones - Redundancia - Construcción frameworks propios - Comprar soluciones propietarias (limitaciones)
Provee servicios comunes como: - Persistencia - Transacciones - Distribución de Objetos - Administración de conexiones - Los proveedores implementan los estándares - Configuración centralizada - Permiten centrarse en los problemas del negocio - Sus servicios se utilizan a través de APIs estándares - Desarrollar soluciones independiente de la plataforma - Mayor nivel de integración
Sin servidor de aplicaciones Con servidor de aplicaciones
DEPARTAMENTO DE SISTEMAS
Introducción
• Servicios Contenedor: o Interfaz entre los componentes y la plataforma que los
soporta
o Desplegar aplicaciones ensambladas, lo cual implica configurar el contenedor para la aplicación JEE
o Las configuraciones del contenedor incluyen la seguridad, administración de transacciones, persistencia, servicios de jndi y conectividad remota
o Su funcionalidad es definida por la plataforma JEE y es diferente para cada tipo de componente
5
DEPARTAMENTO DE SISTEMAS
Introducción
o Seguridad: permite configurar los componentes web o EJB para que solo sean utilizados por usuarios autorizados y autenticados mediante JAAS
o Transacciones (JTA): permite el manejo de transacciones distribuidas que están en múltiples recursos como una unidad (especificación JSR 907).
o Búsqueda (JNDI lookup): interfaz unificada para acceso a servicios de nombres y directorios.
o El modelo de conectividad remota JEE administra las comunicaciones a bajo nivel entre clientes y beans empresariales de manera transparente.
6
DEPARTAMENTO DE SISTEMAS
Introducción
• Tipos de contenedores: o Contenedor Web o Contenedor de aplicación cliente o Contenedor EJB
7
DEPARTAMENTO DE SISTEMAS
Contenedores
• Contenedor WEB Es una interfaz entre los componentes Web (servlets, páginas JavaServer Faces o Páginas JSP) y el servidor web. En tiempo de ejecución ofrece los servicios requeridos por los componente web. o Servicios:
Recepción de solicitudes Seguridad Concurrencia Administración del ciclo de vida de componentes web Permite acceso de los componentes web a las APIs tales
como transacciones. o Ejemplos: Tomcat, Jetty.
8
DEPARTAMENTO DE SISTEMAS
Contenedores
• Contenedor EJB (Enterprise JavaBeans) Es la interfaz entre los beans empresariales (proveen la lógica del negocio) y el servidor JEE. o Servicios
Gestiona la ejecución (ciclo de vida) de los EJBs Se ejecuta sobre un servidor JEE Soporta los componentes que implementan la lógica de
negocio Ofrece servicios de control de acceso y seguridad, control de
transacciones y ejecución concurrente entre otras. o Ejemplos : JBoss, Glassfish
9
DEPARTAMENTO DE SISTEMAS
Contenedores
• Contenedor Aplicaciones Cliente Es la interfaz entre las aplicaciones clientes JEE las cuales son aplicaciones especiales Java SE que usan los componentes de servidor JEE.
o Servicios: Se ejecutan en la máquina del cliente Es el gateway entre la aplicación cliente y los componentes
del servidor JEE que usa el cliente.
10
DEPARTAMENTO DE SISTEMAS
Sun GlassFishTM Enterprise Server
• Sun GlassFishTM Enterprise Server Servidor de aplicaciones que implementa las especificaciones Java EE, construida por una comunidad open source (Sun, Ericsson, Oracle entre otros). Permite crear, ensamblar, desplegar y depurar código para aplicaciones empresariales.
11
DEPARTAMENTO DE SISTEMAS
• Características:
o Soporta tecnologías: JSP, JSF, Servlets, EJBs, Java API para Servicios Web (JAX-WS), Arquitectura Java para Enlaces XML (JAXB), Java Persistence API.
o Código abierto (GPL) o Certificado con estándares Sun JAVA System Application
Server 9 PE
12
Sun GlassFishTM Enterprise Server
DEPARTAMENTO DE SISTEMAS
• Versión 2 (Java EE 5) o WS stack o Rendimiento o Balanceo de carga o Clustering o Proyecto metro : integración entre servicios Web alojados
en tecnología Java con servicios de windows o ESB o Java Business Integration (JBI) o Integración con IDE Netbeans o Administración centralizada o Soporte de scripting o Framework de testing unificado
13
Sun GlassFishTM Enterprise Server
DEPARTAMENTO DE SISTEMAS
• Versión 3 o Basado en arquitectura modular OSGi (Open Services
Gateway initiative) con capacidad para trabajar plataforma Java EE 6 release
o Soporta JSF 2.0 o JAX-RS 1.0 es suportada para construir servicios WEB
RESTful. o Soporte JRuby o Maneja extensibilidad y modularidad o Soporta: aplicaciones Java EE, RoR (Ruby on Rails),
Phobos, Grails
Comparación entre versiones https://glassfish.dev.java.net/public/comparing_v2_and_v3.html
14
Sun GlassFishTM Enterprise Server
DEPARTAMENTO DE SISTEMAS
Arquitectura Glassfish V.3
15
DEPARTAMENTO DE SISTEMAS
Comparación Contenedores JEE
Tomado de http://weblogs.java.net/blog/jdcampbell/archive/2008/02/top_java_5_ee_s_1.html
Yes: La característica está disponible en el servidor Available: La característica requiere instalaciones adicionales Partial: la característica no está completamente soportada
16
DEPARTAMENTO DE SISTEMAS
Aplicación Web
• Aplicación Web Es una extensión dinámica de un servidor web o de aplicación. Consta de componentes web, archivos estáticos como imágenes, librerías y clases utilitarias. Hay dos tipos de aplicaciones web: o Orientadas a Presentación: genera paginas web
interactivas, contiene varios tipos de leguaje como HTML, XML.
o Orientadas a Servicio: Implementa los endpoint de un servicio web.
17
DEPARTAMENTO DE SISTEMAS
Aplicación Web
• Ciclo de Vida de una Aplicación Web. o Desarrollar el código de los componentes web o Desarrollar el descriptor del componente web ( Un
descriptor es un archivo en formato xml que contiene la información de configuración para el despliegue de la aplicación web)
o Compilar los componentes de la aplicación web junto con las clases utilitarias referenciadas por los componentes
o Empaquetar la aplicación para ser desplegada (opcional) o Desplegar la aplicación en un contenedor web o Acceder al url que referencia en la aplicación web, el
puerto de referencia es definido en el contenedor web
18
DEPARTAMENTO DE SISTEMAS
Aplicación Web
• Módulo Web Un modulo web JEE corresponde a una aplicación web definida en la especificación de Java Servlet . Es la unidad de recursos web (componentes web, recursos estáticos, librerías) que puede ser desplegada. Un modulo Web tiene la siguiente estructura:
Descriptor de despliegue aplicación web Clases de lado del
servidor: servlets, clases de utilidades, javaBeans.
Archivos JAR de librerías utilizadas por las clases del lado del servidor
Tomado de http://docs.sun.com/app/docs/doc/819-3669/bnadr?a=view
Un directorio que contiene los archivos tag, implementaciones de librerías tag. .
19
DEPARTAMENTO DE SISTEMAS
Aplicación Web
• Tecnologías Java para Aplicaciones WEB
Tomado de http://docs.sun.com/app/docs/doc/819-3669/bnadr?a=view
20
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• “La tecnología Java Server Faces (JSF) es un marco de trabajo de interfaces de usuario del lado de servidor para aplicaciones Web basadas en tecnología Java”. (Sun Microsystems) – Estándar de Java (JSR-127)
21
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• Beneficios o Separación entre el comportamiento y la presentación de una
aplicación web, facilitando el mantenimiento o Manejo de elementos UI como objetos con estado en el
servidor. o Contienen conceptos a nivel de capa web y componentes UI
sin limitarlo a tecnologías de scripting particular o lenguaje markup
o Permite la separación clara de roles en desarrollo o Estandarización: Los más grandes vendedores de
herramientas de desarrollo colaboran con su mantenimiento. o Aunque la tecnología JSF incluye una biblioteca de etiquetas
JSP personalizadas para representar los componentes en una página JSP, el API de la tecnología JSF son capas directamente encima de la API Servlet.
22
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• Qué ofrece el framework JSF o Un conjunto de componentes web prefabricados o Un modelo de programación orientado a
eventos o Un modelo de componentes que permiten a
terceros y desarrolladores crear nuevos componentes
23
DEPARTAMENTO DE SISTEMAS
Tomado de: http://java.sun.com/javaee/5/docs/tutorial/doc/
Tecnología JSF
Funcionamiento JavaServer Faces
24
DEPARTAMENTO DE SISTEMAS
25
Tecnología JSF
• Partes de una aplicación JSF o Un conjunto de páginas JSP
o Un conjunto de componentes JavaBeans llamados backing beans, los cuales definen las propiedades y funciones para los componentes UI sobre una pagina JSP
o Archivos de configuración de la aplicación, los cuales definen las reglas de navegación y configuración de beans u otros objetos como componentes definidos por el cliente
o Un archivo descriptor de despliegue (web.xml)
o Conjunto de objetos cliente creados por el desarrollador de la aplicación como: componentes, validadores, conversores o listeners.
o Un conjunto de tags del cliente para representar los objetos del cliente sobre la página
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
26
Ciclo de vida de una página JSF (l)
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• Las aplicaciones JSF deben acoplarse a las especificaciones Servlet v.2.3 y JavaServer Pages v.1.2, estas especificaciones son empaquetadas en archivos WAR, los cuales conforman los requerimientos para ejecutar las aplicaciones en un contenedor
• Un archivo WAR debe contener: o Un descriptor de despliegue web.xml o Un conjunto de archivos JAR que contienen las clases o Un conjunto de clases de la aplicación, paginas JSF y otros
recursos requeridos o Un archivo de configuración delos recursos de la aplicación
27
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• La estructura de directorio de un archivo WAR es:
• En Netbeans la estructura de directorios para una aplicación Web es:
28
DEPARTAMENTO DE SISTEMAS
Tecnología JSF
• Pasos en el proceso de desarrollo:
o Mapear la instancia del FacesServlet
o Crear de las páginas que utilizan los componentes UI y los core tags.
o Definir de página de navegación en el archivo de configuración de la aplicación.
o Desarrollar de backing beans
o Adicionar en el archivo de configuración de la aplicación los managed bean.
29
DEPARTAMENTO DE SISTEMAS
• Mapear la instancia del FacesServlet Todas las aplicaciones JSF deben incluir un mapeo a la instancia de FacesServlet en sus descriptores de despliegue, para identificar las paginas que deben ser administradas en el ciclo de vida de JavaServer Faces. Esta instancia acepta las peticiones, administra el ciclo de vida de la aplicación e inicializa los recursos requeridos por JSF. Ejemplo tomado del descriptor WEB-INF/web.xml, de la aplicación guessNumber (http://docs.sun.com/app/docs/doc/819-3669/bnaph?a=view).
30
Definición Páginas
DEPARTAMENTO DE SISTEMAS
Definición Páginas
• Crear las páginas o Una página JSF tiene los tags usuales de HTML y HEAD
o Se deben declarar los tags de las librerías para acceder a los componentes del core y de html
1. Librería de etiquetas personalizadas para componentes UI de HTML identificado con el prefijo h
3. Librería de etiquetas personalizadas para representar manejadores de eventos, validadores, y conversores.
4. También es posible utilizar la librería de apache <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %> 31
DEPARTAMENTO DE SISTEMAS
Definición Páginas
o Las páginas JSF son representadas con un árbol de componentes definido como view. El tag view representa la raíz del árbol. Se puede utilizar el tag subview para incluir páginas entre otras.
o Todos los componentes deben estar definidos allí y está definido en la librería core. El tag form representa un componente de entrada. Todos los componentes editables (cajas de texto, botones) se deben ubicar entre el tag form
32
DEPARTAMENTO DE SISTEMAS
Definición Páginas
• Componentes UI en paginas JSF. o Etiquetas. El tag output Text representa las
etiquetas (label). En el ejemplo el valor de la etiqueta está siendo consultado del método get del propiedad minimun y maximun del Backing Bean UserNumberBean
33
DEPARTAMENTO DE SISTEMAS
Definición Páginas
Imagen: define ruta de la imagen y id Caja de texto: define etiqueta, propiedad de Backing Bean que recibe valor, mensaje de error. Se hace una validación de rango con “validateLongRange”
Botón: define id, acción ( especifica la propiedad de salida que ayuda al mecanismo de navegación a definir cual es la página siguiente) y valor
34
DEPARTAMENTO DE SISTEMAS
35
Definición Páginas
Ejemplo de página JSF
DEPARTAMENTO DE SISTEMAS
Navegación
• El modelo de navegación de JavaServer Faces facilita definir la navegación entre páginas y mejorar el procesamiento para elegir la secuencia en la cual las páginas son cargadas.
• La navegación es definida con un conjunto de reglas en el archivo faces-congif.xml, para seleccionar la página que se debe desplegar, a partir de un evento generado por un componente (botón, link).
• Tipos de navegación o Navegación Estática o Navegación Dinámica
36
DEPARTAMENTO DE SISTEMAS
Navegación
• Navegación Estática
<h:commandButton label="Login" action="login"/> <navigation-rule> <from-view-id>/index.jsp</from-view-id> <navigation-case> <from-outcome>login</from-outcome> <to-view-id>/welcome.jsp</to-view-id> </navigation-case> </navigation-rule>
37
DEPARTAMENTO DE SISTEMAS
Navegación
• Navegación Dinámica o La navegación depende de cada usuario y de
datos particulares
<h:commandButton label="Login" action="#{loginController.verifyUSer}"/>
String verifyUser() { if (...) return "success" else return "failure" }
38
DEPARTAMENTO DE SISTEMAS
• Definen la secuencia en que son cargadas las páginas de una aplicación.
• Se deben registrar en el archivo de configuración faces – config.xml
Navegación
39
DEPARTAMENTO DE SISTEMAS
40
Navegación
• La navegación se define en el archivo faces-config.xml
• Si va a agregar un nuevo archivo de navegación, se debe incluir en la lista de archivos del web.xml
• En el faces-config.xml de cada módulo se deben especificar las clases que implementan los beans y el alcance de cada uno de estos objetos
DEPARTAMENTO DE SISTEMAS
41
Navegación
• Cada vez que se define un action sobre un bean, este debe retornar un String con el que se especifica la regla de navegación a seguir.
• En este ejemplo el caso “success” es resultado del llamado al método createRole del RoleBean.
DEPARTAMENTO DE SISTEMAS
42
Navegación
• Menú de navegación • incluir dentro del archivo common/jsp/menu.jsp el
nuevo elemento
DEPARTAMENTO DE SISTEMAS
43
Navegación
• El faces-config.xml debe incluir las reglas de transición de los estados del menú
DEPARTAMENTO DE SISTEMAS
Backing Beans
• Clases JAVA (Java Beans)
• Su propósito es separar los componentes UI de los objetos que ejecutan el procesamiento y mantienen los datos
• Facilitan la comunicación entre los beans reales de la aplicación y la UI.
• Responsabilidades o Interactúan con el modelo
o Escuchan eventos de la vista
o Dan respuesta a las solicitudes
44
DEPARTAMENTO DE SISTEMAS
45
• Getters y setters para sus propiedades
• Métodos de acción
o eventos de la capa web implementados en métodos de los beans.
o actions
Ejecutan acciones sobre el modelo y dejan los resultados en los atributos del bean
siempre termina con una regla de navegación (por lo que se entiende que un action tiene tipo de retorno String)
o action listeners
Método para poblar información antes de cargar un jsp
recibe un evento como parámetro y no retorna nada
Uso de un Web Bean en un JSP (para visualizar un attr)
< ……… value =“#{bookListBean.books}”/>
Backing Beans
DEPARTAMENTO DE SISTEMAS
Backing Beans
• El Backing Bean define propiedades y métodos que son asociados con los componentes UI usados en la página. En el ejemplo el valor de entrada del componente se mantendrá en la propiedad useNumber del Backing Bean UserNumberBean.
<h:inputText id="userNo" label="User Number" value="#{UserNumberBean.userNumber}"> ... </h:inputText>
46
DEPARTAMENTO DE SISTEMAS
47
Backing Beans
DEPARTAMENTO DE SISTEMAS
Backing Beans
48
DEPARTAMENTO DE SISTEMAS
Backing Beans
• Configuración de un Bean JavaServer Faces soporta la administración de
bean y permite realizar: o Configurar beans o Inicializar las propiedades de los bean con
valores determinados o Mantener los beans en un ámbito o Exponer los beans para que puedan ser
accedidos.
49
DEPARTAMENTO DE SISTEMAS
Backing Beans
• Los beans se configuran en el archivo faces-config.xml. Este archivo es procesado cuando la aplicación inicia, si una página hace referencia a un bean, la implementación JavaServer Faces inicializa de acuerdo a su configuración en este archivo.
• Los beans se pueden crear usando elementos managed-bean, los cuales representan una instancia de una clase bean que debe existir en la aplicación. En tiempo de ejecución JSF implementa procesos para el managed-bean.
50
DEPARTAMENTO DE SISTEMAS
Backing Beans
• Ejemplo Declaración de Managed-Bean <managed-bean> <managed-bean-name>UserNumberBean</managed-bean-
name> <managed-bean-class>guessNumber.UserNumberBean</
managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>minimum</property-name> <property-class>long</property-class> <value>0</value> </managed-property> </managed-bean>
51
DEPARTAMENTO DE SISTEMAS
Backing Beans
• Cada managed-bean contiene las siguientes propiedades: o Managed-bean-name: es único y se mantiene en el ámbito de la
aplicación. Este nombre debe coincidir con el valor que se utiliza en las páginas para invocar el bean
o Managed-bean-class: define el nombre completo de la clase componente JavaBeans utilizados para crear una instancia del bean
o Managed-bean-scope: define el ámbito en el cual el bean será almacenado (request, session, application, none)
• El managed-bean contiene el elemento property-name, la cual debe coincidir con el nombre de la propiedad correspondiente en el bean. El valor que se define debe ser el mismo de la propiedad.
52
DEPARTAMENTO DE SISTEMAS
JSF Tags
• Los tags están definidos en dos librerías principales o Core o HTML
• Requieren importación
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
53
DEPARTAMENTO DE SISTEMAS
JSF Tags
• Algunos JSF Core Tags o view o subview o Attribute o param o facet o actionListener o valueChangeListener o converter o validator o validateLength o selectitem
54
DEPARTAMENTO DE SISTEMAS
55
JSF Tags
Volver
<h:selectManyCheckboxlist>
<h:selectOneMenu> <h:selectOneListbox>
<h:selectOneRadio> <h:selectManyMenu>
<h:selectManyListbox>
DEPARTAMENTO DE SISTEMAS
Conversión y Validación
• JSF ofrece soporte para conversión y validación de datos o Conversión de números y fechas
ConvertNumber convertDateTime
o Manejo de errores de conversión <h:message>
<h:inputText value="#{payment.date}"> <f:convertDateTime pattern="mm/yyyy"/> </h:inputText>
<h:outputText value="#{payment.amount}"> <f:convertNumber type="currency" </h:outputText>
56
DEPARTAMENTO DE SISTEMAS
57
<h:outputText value="#{user.dateOfBirth}"> <f:convertDateTime type="date" dateStyle="short"/> </h:outputText>
*** Los conversores tienen encuenta los conceptos de internacionalización y localización.
Ejemplos de conversores
DEPARTAMENTO DE SISTEMAS
Conversión y Validación
• Validaciones o Longitud de cadenas o Rangos de números o Valores requeridos
<h:inputText id="card" value="#{payment.card}"> <f:validateLength minimum="13" </h:inputText>
58
DEPARTAMENTO DE SISTEMAS
Manejo de Eventos
• Aplicaciones Web o Deben reaccionar a eventos de usuario
Seleccionar elementos de un menú Click en un botón
o JSF Soporte tres tipos de eventos Cambio de valores
Disparados por componentes input (h:inputText) Acciones
Disparados por componentes command (h:commandButton)
Fases (Phase) Disparados dentro del ciclo de vida de la JSF
59
DEPARTAMENTO DE SISTEMAS
Manejo de Eventos
• Eventos por Cambio de Valor
<h:selectOneMenu value="{form.country}" onchange="submit()"> valueChangeListener="{form.countryChanged}" <f:selectItems value="{form.countryNames}"> </h:selectOneMenu>
60
DEPARTAMENTO DE SISTEMAS
Manejo de Eventos
• Eventos de Acción
<h:commandButton image="pan.jpg"> actionListener="#{tienda.listen}" action="#{tienda.act}" </h:commandButton> ------- public class Tienda { private String outcome; .... public void listen (ActionEvent e) { FacesContext context = FacesContext.getCurrentInstance(); String clienteId = e.getComponent().getClienteId(context); ....
if(...) outcome = "success"; } public String act () { return outcome; } }
61
DEPARTAMENTO DE SISTEMAS
62
Manejo de Eventos
DEPARTAMENTO DE SISTEMAS
63
Ejemplo:
DEPARTAMENTO DE SISTEMAS
64
Agenda
Conceptos JSP Desarrollo aplicaciones Web
DEPARTAMENTO DE SISTEMAS
65
Proceso de Desarrollo
Creación del prototipo en html Definición de la forma en que interactuarán los usuarios con el
requerimiento
Diseño Identificación de los estados en los que el usuario interactúa
con el sistema
Implementación Creación de las páginas JSP e implementación de los web
beans
DEPARTAMENTO DE SISTEMAS
66
Creación del prototipo en html
Crear páginas html que muestren cómo el usuario va a visualizar y a interactuar con un requerimiento
Identificar estilos, formas, imágenes, íconos y convenciones
DEPARTAMENTO DE SISTEMAS
67
Diseño
Diseñar JSPs y Web Beans que contienen la información que se va a desplegar en cada jsp.
Los Web Beans contienen los métodos con los cuales se van a hacer las acciones sobre el sistema. Un Bean por cada página de presentación de cada
componente Un Bean que contiene el listado de modelBO.
DEPARTAMENTO DE SISTEMAS
68
Diseño: Diagrama de Estados
Todos los diagramas deben empezar por lo menos con un action Los actions pueden ser llamados desde el menú o desde un
botón dentro del sistema Si hay una acción en el Bean antes de mostrar el jsp se debe
tener un actionListener.
Las transiciones de los estados son el resultado de pasar de una página a otra o interactuar con algún Bean.
Todos los diagramas deben finalizar en una jsp.
DEPARTAMENTO DE SISTEMAS
69
Diagrama de Estados: Ejemplos
Requerimientos de Listar
DEPARTAMENTO DE SISTEMAS
70
Diagrama de Estados: Ejemplos
Requerimientos de creación
DEPARTAMENTO DE SISTEMAS
71
Diagrama de Estados
Si se pasa a una jsp con una acción de navegación se debe usar la palabra action al final.
Si se pasa a una jsp con el resultado de una acción de un Bean se debe usar la palabra “success”.
Al pasar a un Bean se debe usar el método/propiedad que se va a llamar.
DEPARTAMENTO DE SISTEMAS
72
Guía de Implementación
Implementar WEB Delegates Intermedian relación entre Web Beans y Beans de Sesión
Implementar Web Beans Implementar getters y setters de sus atributos (incluyendo los del
BO ), los action y action listeners Ajustar Archivo de configuración
Declarar la nueva navegación y los web beans Adicionar el nuevo requerimiento al menú Implementar JSPs
A partir del prototipo adicionar los tags de JSF y los componentes adicionales
Ajustes al packaging Los nuevos archivos y módulos deben quedar incluidos dentro
del war que se construye
DEPARTAMENTO DE SISTEMAS
73
2. Posibles escenarios del ciclo de vida A. Petición No-Faces genera una Respuesta Faces: Enlace de una página HTML que abre una página que contiene
componentes JSF
B. Petición Faces genera una Respuesta No-Faces
Evitar la fase de “renderizar” la Respuesta
C. Una Petición Faces genera una Respuesta Faces
Ciclo de vida de una página JSF
DEPARTAMENTO DE SISTEMAS
74
Página Inicial listBooks.jsp
DEPARTAMENTO DE SISTEMAS
75
Eliminar
DEPARTAMENTO DE SISTEMAS
76
Ejemplo
DEPARTAMENTO DE SISTEMAS
77
Ejemplo
DEPARTAMENTO DE SISTEMAS
Ejemplo
78
DEPARTAMENTO DE SISTEMAS
79
Ejemplo
DEPARTAMENTO DE SISTEMAS
Ejemplo
80
DEPARTAMENTO DE SISTEMAS
81
Ejercicio
Construya el Diagrama de estado para el proyecto
DEPARTAMENTO DE SISTEMAS
82
Material
• Este material fue preparado por • Nicolás López • Pilar Villamil
• Este material fue revisado y actualizado por • Darío Correal • Yeimi Peña
DEPARTAMENTO DE SISTEMAS
83
Referencias
Presentación JavaServer Faces. Betsy Lanchero, 2006-2 The Java EE 5 Tutorial . Sun. Junio 16, 2006 Bergsten, Hans. JavaServer Faces. O’Reilly. 2004 Horstmann, Cay. Core JavaServer Faces. Prentice Hall. 2004. http://www.coreservlets.com http://java.sun.com/j2ee/javaserverfaces JSF Web Steps – QualDev Group http://chie.uniandes.edu.co/~changeset/wiki/doku.php?
id=development:resources:tutorials:development:jsfwebsteps http://co.sun.com/practice/software/glassfish/landing/que_es.html http://docs.sun.com/app/docs/doc/820-7695/fvxzc?a=browse http://docs.sun.com/app/docs/doc/819-3669/bnadr?a=view
top related