Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

167
Desarrollo de Componentes Web con Servlets y JSP

Transcript of Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Page 1: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de ComponentesWeb con Servlets y JSP

Page 2: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 3: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Arquitectura cliente-servidor de HTTP

Tecnologías de aplicaciones web

Page 4: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Estructura de un sitio web

� Estructura lógica vs física del sitio

Tecnologías de aplicaciones web

Localizador uniforme de recursos

Page 5: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Sitios web y aplicaciones web

� Un sitio web es una colección de archivos estáticos, páginas HTML, gráficos y otros archivos diversos.

� Una aplicación web es un sitio web con

Tecnologías de aplicaciones web

� Una aplicación web es un sitio web con funcionalidad dinámica en el servidor. Una aplicación web ejecuta programas en el servidor.

� Un Servicio Web es un servicio que una aplicación ofrece a otra a través de World Wide Web y transferencia de datos en XML.

Page 6: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejecución de programas CGI

Tecnologías de aplicaciones web

Page 7: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejecución de programas CGI

Tecnologías de aplicaciones web

Page 8: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejecución de servlets Java

Tecnologías de aplicaciones web

Page 9: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Java Servlets

Tecnologías de aplicaciones web

Page 10: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Tecnología JavaServer Pages

Tecnologías de aplicaciones web

Page 11: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

JSP: Proceso de compilación

Comparación entre servlets y componentes JSP

Page 12: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo: de JSP a Servlet (Tomcat)

Comparación entre servlets y componentes JSP

Page 13: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Arquitectura web: capas

Tecnologías de aplicaciones web

Page 14: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Arquitectura web: MVC

Tecnologías de aplicaciones web

Page 15: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Arquitectura del modelo 2

Tecnologías de aplicaciones web

Page 16: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo de arquitectura Java EE

Tecnologías de aplicaciones web

Page 17: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 18: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Tipos de componentes visuales� Presentación de datos

� Incluye todos los datos presentados en una pantalla visible.� Existen numerosas formas de presentación, como gráficos, hojas de cálculo, listados, etc.

� Formularios de datos

Desarrollo de componentes visuales

� Formularios de datos� Los formularios de entrada de datos también se consideran componentes visuales.

� Ayudas de navegación� Este tipo de vistas incluye menús, hipervínculos, mapas del sitio, etc.

� Pantallas informativas o ventanas emergentes� Este tipo de vistas incluye texto de bienvenida, instrucciones, pantallas de ayuda, mensajes de error, cuadros de confirmación, etc.

Page 19: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Caso de ejemplo de liga de fútbol

Desarrollo de componentes visuales

Page 20: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Modelo de análisis de un caso de uso

Desarrollo de componentes visuales

Page 21: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Páginas de List Leagues

� Inicial

Desarrollo de componentes visuales

� Lista de ligas

Ej: Ligas v.0

Page 22: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Protocolo de

Desarrollo de componentes visuales

Protocolo de transferencia de hipertexto (HTTP)

Page 23: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Solicitud HTTP: método GET

Desarrollo de componentes visuales

Page 24: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Respuesta HTTP

Desarrollo de componentes visuales

Page 25: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Arquitectura de contenedor web

Desarrollo de componentes visuales

Page 26: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Proceso de solicitud y respuesta

1. El navegador se conecta al contenedor web

2. El contenedor web crea dos objetos

Desarrollo de componentes visuales

2. El contenedor web crea dos objetos con los flujos de entrada/salida

3. El contenedor web ejecuta el servlet4. El servlet utiliza el flujo de salida para

generar la respuesta

Page 27: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

1º: El navegador se conecta al contenedor web

Desarrollo de componentes visuales

Page 28: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

2º: Contenedor web crea dos objetos con flujos entrada/salida

Desarrollo de componentes visuales

Page 29: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

3º: El contenedor web ejecuta el servlet

Desarrollo de componentes visuales

Page 30: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

4º: El servlet utiliza el flujo de salida para generar la respuesta

Desarrollo de componentes visuales

Page 31: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diagrama de secuencia de una solicitud HTTP GET

Desarrollo de componentes visuales

Page 32: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Attributes[R/W/D]

ContentType[W]

Writer[W]

WebContainer

Utilización de las API de petición y respuesta

Utilización de las API de petición y respuesta

HttpServeltRequest HttpServletResponse

serviceservice()()

Parameters[R]

Session[R/W/D]

Cookies [R]

OutputStream[W]

Cookies[W]

Redirect[W]

Page 33: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de un servlet de HTTP simple

Desarrollo de componentes visuales

Ej: Ligas v.1Ej: Ligas v.1

Page 34: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

La API de HttpServlet

Desarrollo de componentes visuales

Page 35: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Estructura física de la aplicación: fichero WAR

Desarrollo de componentes visuales

Estructura lógicaEstructura lógica

Page 36: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Configuración de la aplicación: web.xml

Desarrollo de componentes visuales

Page 37: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Configuración de la aplicación: web.xml

Desarrollo de componentes visuales

Page 38: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 39: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Tipos de componentes controladores� Procesan la entrada del usuario

� La entrada de una solicitud HTTP se suministra mediante formularios web (o HTML). Estos formularios permiten al usuario introducir datos de texto, seleccionar botones de opción, casillas de verificación, listas desplegables, etc. En los formularios web se usa un botón de envío para enviar los datos al servidor web.

Desarrollo de componentes controladores

un botón de envío para enviar los datos al servidor web.� Permiten navegar por la pantalla

� En un nivel elemental, los hipervínculos de las páginas web son una forma de navegación en pantalla. Algunos mecanismos de navegación pueden requerir datos (como usar una lista desplegable) para seleccionar la próxima pantalla donde navegar.

� Preparan datos para componentes visuales� Algunos controladores sólo pueden preparar datos de negocio para presentarlos en una vista. Un buen ejemplo de ello son los informes.

Page 40: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Add a New League :Modelo de análisis

Desarrollo de componentes controladores

Page 41: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Add a New League:Modelo de análisis

Desarrollo de componentes controladores

Page 42: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Éxito

Desarrollo de componentes controladores

Success

Page 43: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Error

Desarrollo de componentes controladores

Error

Page 44: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Estructura de la solución

Desarrollo de componentes controladores

Jerarquía lógica

Jerarquía física

Page 45: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Solicitud de método HTTP GET

Desarrollo de componentes controladores

Page 46: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Solicitud de método HTTP POST

Desarrollo de componentes controladores

Page 47: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Métodos HTTP GET y POST� El método HTTP GET se utiliza cuando:

� El procesamiento de la solicitud es idempotente.� Esto significa que la solicitud no tiene efectos secundarios en el servidor.

La cantidad de datos del formulario es pequeña.

Desarrollo de componentes controladores

� La cantidad de datos del formulario es pequeña.� Se desea asignar un marcador a la solicitud.

� El método HTTP POST se utiliza cuando:� El procesamiento de la solicitud modifica el estado del servidor, como al almacenar datos en una base de datos.

� La cantidad de datos del formulario es grande.� El contenido de los datos no debe aparecer en la URL (por ejemplo, contraseñas).

Page 48: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de servlets controladores

1. Recuperar parámetros del formulario de la solicitud HTTP.

2. Efectuar las conversiones de datos de los parámetros del formulario.

Desarrollo de componentes controladores

2. Efectuar las conversiones de datos de los parámetros del formulario.

3. Verificar los parámetros del formulario.4. Ejecutar la lógica de negocio.5. Distribuir a los siguientes componentes visuales según los resultados de los pasos anteriores.

Page 49: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Controlador AddLeague

Desarrollo de componentes controladores

Ej: Ligas v.2

Page 50: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Distribución (dispatch) desde el controlador a una vista

Desarrollo de componentes controladores

Page 51: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ámbito de solicitud (Request)

Desarrollo de componentes controladores

Ej: Ligas v.2

Ej: Ligas v.2.1

Page 52: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso de un distribuidor de solicitudes

Desarrollo de componentes controladores

Page 53: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 54: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ciclo de vida de un servlet

Desarrollo de formularios dinámicos

Page 55: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

1º Carga de clases de servlet

Desarrollo de formularios dinámicos

Page 56: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Una instancia por definición de servlet

Desarrollo de formularios dinámicos

Page 57: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

2º: Método de ciclo de vida init()

Desarrollo de formularios dinámicos

Page 58: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

3º: Método de ciclo de vida service()

Desarrollo de formularios dinámicos

Page 59: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Método de ciclo de vida destroy()

Desarrollo de formularios dinámicos

Page 60: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso de parámetros de inicialización

Desarrollo de formularios dinámicos

Ej: Ligas v.2.1

Page 61: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Modelo de arquitectura de Add League (fase 1)

Desarrollo de formularios dinámicos

Ej: Ligas v.2.1

Page 62: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

La API de ServletConfig

Desarrollo de formularios dinámicos

Page 63: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Configuración de parámetros de inicialización

Desarrollo de formularios dinámicos

Page 64: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Manejo de errores en un formulario web

Desarrollo de formularios dinámicos

Page 65: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Capturas de pantalla de manejo de errores

Desarrollo de formularios dinámicos

Ej: Ligas v.3

Ej: Ligas v.3.1

Page 66: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Modelo de arquitectura de Add League (fase 2)

Desarrollo de formularios dinámicos

Ej: Ligas v.3.1

Page 67: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Estructura de la aplicación

Desarrollo de formularios dinámicos

Estructura física

Page 68: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Cómo volver a rellenar formularios web

Desarrollo de formularios dinámicos

Page 69: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 70: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo de uso del contexto

Compartición de recursos mediante el contexto de servlet

Page 71: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Contexto de servlet� Un objeto ServletContext es la representación de tiempo de ejecución de la aplicación web

Compartición de recursos mediante el contexto de servlet

Page 72: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Modelo de arquitectura de la liga de fútbol

Compartición de recursos mediante el contexto de servlet

Ej: Ligas v.4

Page 73: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de un receptor de eventos de contexto de servlet

Compartición de recursos mediante el contexto de servlet

Ej: Ligas v.4.1

Page 74: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Compartición de recursos mediante el contexto de servlet

Modificaciones:web.xml, estructura

Page 75: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Caso de uso: registro en una liga

Diseño de la capa de negocio

Page 76: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diagrama de colaboración

Diseño de la capa de negocio

Page 77: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diagrama de secuencia

Diseño de la capa de negocio

Page 78: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diagrama de despliegue

Diseño de la capa de negocio

Ej: Ligas v.5

Page 79: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Entidades de dominio

Diseño de la capa de negocio

Page 80: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diseño de componentes de servicio

� Las operaciones CRUD relativas a entidades no las puede realizar el componente de entidad en sí

Diseño de la capa de negocio

componente de entidad en sí

Page 81: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Servicio de fachada

Diseño de la capa de negocio

Menor acoplamiento

Page 82: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 83: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Patrón MVC hasta ahora

Desarrollo de aplicaciones web mediante Struts

Page 84: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

MVC en Framework Struts

Desarrollo de aplicaciones web mediante Struts

Un solo servletUn solo servlet

Ej: Ligas v.6

Page 85: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Patrón Frontal Controller

� Todas las peticiones *.do pasan por el Action Servlet Struts

Desarrollo de aplicaciones web mediante Struts

Page 86: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Estructura MVC de Struts� Servlet de controlador de infraestructura

� Struts suministra la clase ActionServlet. � Este servlet (y otras clases de soporte) leen el archivo de configuración de Struts para configurar las asignaciones entre los patrones URL y las clases de acción (controlador).

Desarrollo de aplicaciones web mediante Struts

los patrones URL y las clases de acción (controlador).

� Clases básicas� La estructura Struts tiene numerosas clases. Al construir una aplicación, puede concentrarse en ampliar sólo algunas de ellas. En concreto, se hereda de la clase Action para crear componentes controladores.

� Archivos de configuración� Struts proporciona la definición de tipo de documento (DTD) del archivo struts-config.xml.

Page 87: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Procesamiento de solicitudes de Struts

Desarrollo de aplicaciones web mediante Struts

Page 88: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

API de clases Action de Struts

Desarrollo de aplicaciones web mediante Struts

Page 89: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Configuración del controlador de infraestructura

Desarrollo de aplicaciones web mediante Struts

Page 90: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de aplicaciones web mediante Struts

Archivos JAR de Struts

Page 91: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 92: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Sesiones de contenedor web

� HTTP es un protocolo sin sesión� El contenedor se encarga de la gestión

Desarrollo de aplicaciones web mediante gestión de sesión

Page 93: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Caso de uso: Registrarse en una liga

Desarrollo de aplicaciones web mediante gestión de sesión

Ej: Ligas v.7

Page 94: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Pantallas, formularios, servlets, actions, forwards…

Desarrollo de aplicaciones web mediante gestión de sesión

Page 95: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

API de sesión

Desarrollo de aplicaciones web mediante gestión de sesión

Page 96: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Interfaz HttpSession

Desarrollo de aplicaciones web mediante gestión de sesión

Timeout

Deprecated methods

Timeout

Creación / Cierre

Page 97: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Timeout de sesión

� Configurado en web.xml

Desarrollo de aplicaciones web mediante gestión de sesión

� Manejado por API

Page 98: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

API de Cookie

Desarrollo de aplicaciones web mediante gestión de sesión

Page 99: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Gestión de sesión mediante cookies

Desarrollo de aplicaciones web mediante gestión de sesión

En primera conexión

Nombre estandarizado

En resto de conexiones…

Page 100: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso de reescritura de URL para gestión de sesión

Desarrollo de aplicaciones web mediante gestión de sesión

Page 101: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 102: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Procesado de peticiones

Uso de filtros en aplicaciones web

Page 103: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Aplicación de filtros a solicitudes entrantes

Uso de filtros en aplicaciones web

Ej: Ligas v.8

Page 104: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Cadenas de filtros

Uso de filtros en aplicaciones web

Page 105: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso modular de filtros

Uso de filtros en aplicaciones web

Page 106: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Aplicación de filtros a solicitudes en dispatch

Uso de filtros en aplicaciones web

Page 107: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

API de filtro

Uso de filtros en aplicaciones web

Page 108: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Configuración en web.xml

Uso de filtros en aplicaciones web

Precedencia en la aplicación

Page 109: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 110: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Objetos de dominio y tablas

Integración de aplicaciones web con bases de datos

tablas

Page 111: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Patrón de objeto de acceso a datos (DAO)

Integración de aplicaciones web con bases de datos

Oculta la gestión del SQL las clases de Servicio

Page 112: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ventajas del patrón DAO� La lógica de negocio y la lógica de acceso a datos están separadas.

� Los objetos de acceso a datos fomentan la reutilización y la flexibilidad al cambiar el sistema.

Se pueden crear nuevos servicios de negocio que reutilicen

Integración de aplicaciones web con bases de datos

� Se pueden crear nuevos servicios de negocio que reutilicen la lógica de acceso a datos en las clases DAO.

� Los desarrolladores que escriben otros servlets pueden reutilizar el mismo código de acceso a datos.

� Permite realizar cambios en tecnologías de cliente (frontend).

� Permite cambiar los componentes de la capa de web sin alterar la lógica de acceso a datos existente.

� Permite realizar cambios en tecnologías de BDD.

Page 113: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso de una fuente de datos y la API JNDI

Integración de aplicaciones web con bases de datos

Page 114: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 115: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Tecnología JavaServer Pages

� Los diseñadores web diseñan sin saber Java

� Programadores escriben código sin

Desarrollo de páginas JSP

� Programadores escriben código sin preocuparse por el diseño web

Page 116: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Tecnología JavaServer Pages

Desarrollo de páginas JSP

Page 117: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Cómo se procesa una página de JSP

Desarrollo de páginas JSP

Page 118: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Cómo se procesa una página de JSP

Desarrollo de páginas JSP

Page 119: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo e implementación de páginas de JSP

Desarrollo de páginas JSP

Jerarquía lógicaJerarquía de implementación

Page 120: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Elementos de secuencia de comandos de JSP

Desarrollo de páginas JSP

Las secuencias de comandos están desaconsejadas

Page 121: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Elementos en las páginas JSP

Desarrollo de páginas JSP

Page 122: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Formas sintácticas de las etiquetas JSP

Desarrollo de páginas JSP

Page 123: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Directivas JSP� Las directivas son mensajes al contenedor de JSP

� Ejemplos:ElementoElemento DescripciónDescripción

Forma general: <%@ directive { attr=”value” }* %>

Desarrollo de páginas JSP

ElementoElemento DescripciónDescripción

<%@ page ... %><%@ page ... %>

Permite importar clases Java, especificar el Permite importar clases Java, especificar el

tipo de la respuesta (“text/html” por omisión), tipo de la respuesta (“text/html” por omisión),

etcéteraetcétera

<%@ include ... %><%@ include ... %>Permite incluir otros ficheros antes de que la Permite incluir otros ficheros antes de que la

página sea traducida a un servletpágina sea traducida a un servlet

<%@ taglib ... %><%@ taglib ... %>

Declara una biblioteca de etiquetas con Declara una biblioteca de etiquetas con

accionesacciones personalizadas para ser utilizadas en personalizadas para ser utilizadas en

la páginala página

Page 124: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Directiva page

Desarrollo de páginas JSP

Page 125: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Directiva import

� Inserta el texto de otro recurso en tiempo de compilación

Desarrollo de páginas JSP

Page 126: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo: directiva include

Desarrollo de páginas JSP

Page 127: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Elementos de “scripting”

ElementoElemento DescripciónDescripción

<% ... %><% ... %> ScriptletScriptlet. se usa para meter código Java dentro. se usa para meter código Java dentro

ExpresiónExpresión. Permite acceder al valor devuelto por . Permite acceder al valor devuelto por

Desarrollo de páginas JSP

<%= ... %><%= ... %>ExpresiónExpresión. Permite acceder al valor devuelto por . Permite acceder al valor devuelto por

una expresión en Java e imprimirlo en OUTuna expresión en Java e imprimirlo en OUT

<%! ... %><%! ... %>DeclaraciónDeclaración. Usada para declarar variables y . Usada para declarar variables y

métodos en la clase correspondiente a la páginamétodos en la clase correspondiente a la página

<%<%---- … … ----%>%>

ComentarioComentario. Comentario ignorado cuando se . Comentario ignorado cuando se

traduce la página JSP en un servlet.traduce la página JSP en un servlet.

(comentario en el HTML <!(comentario en el HTML <!---- commentcomment��))

Page 128: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo: expresión, saludo.jsp

<%=

Desarrollo de páginas JSP

expresión

Nota: Si se necesita usar los caracteres "%>" dentro de un scriptlet, hay que usar "%\>" y “<\%”

Page 129: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo: scriptlet, saludo.jsp

<%

Desarrollo de páginas JSP

Page 130: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo: declaración, saludo.jsp

<%!

Desarrollo de páginas JSP

Page 131: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

JSP: Objetos predefinidos

� El código java incrustado en JSP tiene acceso a los mismos objetos predefinidos que tenían los servlets

Desarrollo de páginas JSP

predefinidos que tenían los servlets� Aquí se llaman como sigue:

�� requestrequest

�� responseresponse

�� pageContextpageContext

�� sessionsession

�� applicationapplication

�� outout

�� configconfig

Se puede acceder a

ellos directamente

desde los “scriptlets”

Page 132: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acciones JSP

� Etiquetas XML que tienen procesamiento asociado

Desarrollo de páginas JSP

Page 133: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

<jsp:useBean

Desarrollo de páginas JSP

Page 134: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

<jsp:useBean id=“”

Desarrollo de páginas JSP

Page 135: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ambitos JSP

Desarrollo de páginas JSP

Page 136: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Directiva taglib� Declara que la página usa una librería de tags (acciones)

<%@ taglib uri=”http://www.mycorp/supertags” prefix=”super” %>...

Alias definido en web.xml

Desarrollo de páginas JSP

Syntax

<%@ taglib ( uri=”tagLibraryURI” | tagdir=”tagDir” ) prefix=”tagPrefix” %>

� Identifica la librería por su URI� Le asocia un prefijo para usar en el código de la JSP

...<super:doMagic>...</super:doMagic>

Alias definido en web.xml

Page 137: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ejemplo de uso de JSTL y EL

Bibliotecas de etiquetas personalizadas

Ej: Ligas v.9

Page 138: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 139: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Roles de trabajo de Java EE en aplicaciones Web

� Diseñadores de web� Desarrolladores de componentes web� Desarrolladores de componentes de

Desarrollo de páginas JSP con etiquetas personalizadas

� Desarrolladores de componentes de negocio

� Las etiquetas personalizadas permiten desarrollar por completo una página de JSP sin utilizar código Java

Page 140: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

JSP con bibliotecas de etiquetaspersonalizadas

Desarrollo de páginas JSP con etiquetas personalizadas

Ej: Ligas v.9

Con etiquetasCon scriplet

Page 141: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Qué es una biblioteca de etiquetas personalizadas

Desarrollo de páginas JSP con etiquetas personalizadas

Page 142: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Etiquetas JSTL

Desarrollo de páginas JSP con etiquetas personalizadas

Page 143: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acciones básicas

Desarrollo de páginas JSP con etiquetas personalizadas

Page 144: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acciones básicas++

Desarrollo de páginas JSP con etiquetas personalizadas

Page 145: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Procesamiento de XML

Desarrollo de páginas JSP con etiquetas personalizadas

Page 146: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acciones de formato

Desarrollo de páginas JSP con etiquetas personalizadas

Page 147: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acciones de formato

Desarrollo de páginas JSP con etiquetas personalizadas

Page 148: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Acceso a base de datos relacional

Desarrollo de páginas JSP con etiquetas personalizadas

Page 149: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Funciones

Desarrollo de páginas JSP con etiquetas personalizadas

Page 150: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de páginas JSP con etiquetas personalizadas

Funciones

Page 151: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 152: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Componentes de aplicación de Struts

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Page 153: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Repaso de los elementos de modelo

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Ej: Ligas v.9

Page 154: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Repaso de los elementos de vista

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Page 155: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Jsp, actions, forwards…

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Page 156: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de una clase ActionForm

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Un objeto representa al formulario

Page 157: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Biblioteca de etiquetas html deStruts

Desarrollo de aplicaciones web mediante formularios de acción de Struts

Page 158: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

ContenidosContenidos

Page 159: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Diseños de página complejos

Creación de componentes de presentación reutilizables

Page 160: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Maquetación con tablas

Creación de componentes de presentación reutilizables

@copyright

Page 161: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Organización de segmentos de presentación

Creación de componentes de presentación reutilizables

Page 162: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Inclusión de segmentos en páginas de JSP

� La directiva include

Creación de componentes de presentación reutilizables

� La acción estándar jsp:include

Page 163: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Uso de la acción estándar jsp:param

Creación de componentes de presentación reutilizables

Page 164: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Segmento banner.jsp

Creación de componentes de presentación reutilizables

Page 165: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Desarrollo de diseños con Struts Tiles

Creación de componentes de presentación reutilizables

layoutPage.jsp

Page 166: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Rediseño con Tiles

Creación de componentes de presentación reutilizables

index.jsp

thakyou.jsp

Page 167: Sesion 4. Desarrollo de Componentes Web Con Servlets y JSP

Ligas v.xResumen de versiones� V.0: contenido estático� V.1: lista de ligas dinámica� V.2: añadir ligas, formulario estático� V.2.1: form con servlet, lista estaciones en servelt-param� V.3: gestión de errores de formulario, doPost y doGet� V.3: gestión de errores de formulario, doPost y doGet� V.3.1: no se pierden datos en formulario erróneo� V.4: cargar ligas de contexto de aplicación� V.4.1: cargar datos de fichero� V.5: capa de servicio� V.6: añade Struts� V.7: gestión de la sesión� V.8: filtro� V.9: vista con jsp, tags jsp y formularios Struts