arquitectura java web

33
Arquitectura Java Web Ing. José Luis Bugarin Ing. José Luis Bugarin [email protected] [email protected] 1

Upload: jose-luis-bugarin

Post on 29-Jun-2015

1.521 views

Category:

Documents


0 download

DESCRIPTION

Descripción sobre la arquitectura java web. Revisión de struts

TRANSCRIPT

Page 1: Arquitectura java web

Arquitectura Java Web

Ing. José Luis BugarinIng. José Luis [email protected]@consultorjava.com

1

Page 2: Arquitectura java web

Objetivos

Al final de la sesión usted debe ser capaz de: Conocer el modelo MVC utilizado en JAVA. Identificar los Frameworks utilizados para

el modelo MVC.

2

Page 3: Arquitectura java web

MODELO VISTA CONTROLADOR - MVC Controlador: Administra el sistema de

navegación. Modelo: Almacena un conjunto de datos. Vista: Presenta los datos que se

encuentran almacenados en un sistema de bases de datos (Modelo).

3

Page 4: Arquitectura java web

GRAFICA DEL MODELO VISTA CONTROLADOR

4

Page 5: Arquitectura java web

MODELO VISTA CONTROLADOR USANDO FRAMEWORKS

5

Page 6: Arquitectura java web

Introducción a la capa de presentación

Ing. José Luis BugarinIng. José Luis [email protected]@consultorjava.com

6

Page 7: Arquitectura java web

Objetivos

Al final de la sesión usted debe ser capaz de: Conocer los fundamentos del protocolo httpIdentificar los lenguajes que se usan en la

capa de presentación.Conocer el Framework de la capa de

presentaciónIdentificar herramientas para la

presentación

7

Page 8: Arquitectura java web

HTTP RESPONSE REQUEST MODEL

8

Page 9: Arquitectura java web

FUNCIONAMIENTO DE HTTPHttp define la manera en que los

desarrolladores web interactúan con servidores web.

Http Utiliza TCP/IP, el protocolo en red de internet para transferir mensajes entre diversos ordenadores repartidos por el mundo.

Esto permite que el usuario pueda comunicarse con cualquier servidor Web desde distintos navegadores Web y esperar una respuesta. 9

Page 10: Arquitectura java web

FUNCIONAMIENTO DE HTTP

Existen dos tipos comunes de solicitudes HTTP: GET y POST.

La solicitud GET añadira un formulario de datos a la direccion solicitada y lo enviara en un paquete.

La solicitud POST enviara primero un paquete conteniendo la informacion del encabezado y despues otro paquete conteniendo el formulario de datos.

10

Page 11: Arquitectura java web

FUNCIONAMIENTO DE HTTP

¿Que tipo de solicitud debo de usar? Debes utilizar POST para modificar un

recurso en el servidor. Debes utilizar GET simplemente para

obtener informacion del servidor Los anteriores puntos solo son

recomendaciones, la realidad nos indica que no siempre es asi.

11

Page 12: Arquitectura java web

RESPUESTAS COMUNES DE HTTP

12

Page 13: Arquitectura java web

Lenguajes utilizados en la capa de presentación

HTML JavaScript Hojas de estilo CSS JSP (J2EE)

13

Page 14: Arquitectura java web

¿QUE ES UNA PAGINA JSP?

Una pagina JSP es, sencillamente, una pagina HTML que contiene instrucciones especiales para ejecutar código java por toda la pagina.

El contenedor web J2EE es el encargado de administrar las paginas JSP.

14

Page 15: Arquitectura java web

PASOS DEL PROCESAMIENTO JSP

NavegadorWeb

¿Ha cam biado la pagina?

Com pilar Servlet

Generar Código Fuente

Procesar Solicitud

In iciar Servlet

SI

NO

Solicitud HTTP

15

Page 16: Arquitectura java web

ESTRUCTURA DE UNA PAGINA JSP Soporta HTML. Los JSP consisten en:

DirectivasDeclaracionesExpresionesscriptlets

16

Page 17: Arquitectura java web

ESTRUCTURA JSP

Directivas Declaraciones Scriptlet

Adicionalmente el propio código HTML

17

Page 18: Arquitectura java web

FRAMEWORK STRUTS

18

Page 19: Arquitectura java web

FUNCIONAMIENTO DE STRUTS

19

Page 20: Arquitectura java web

COMO INICIAR CON STRUTS

Para iniciar con struts necesitamos lo siguiente:Action FormActionStruts-config.xmlPaginas JSP

20

Page 21: Arquitectura java web

Verificar que exista la configuración de struts en el gestor de despliegue web.xml

21

Page 22: Arquitectura java web

Caso Practico – Navegación con Struts

Login.jsp LoginAction.do

Claves iguales

Struts-config.xml

SI NO

Forward

Registrado.jsp NoRegistrado.jsp

ok No ok

22

Page 23: Arquitectura java web

Formulario de Datos

Formulario en HTML / JSP

23

Page 24: Arquitectura java web

Comenzando con STRUTS

Por cada formulario Web, se necesita escribir el respectivo ActionForm de Struts.

Un ActionForm es un JavaBean que extiende de org.apache.struts.action.ActionForm, este mantiene el estado de sesión para la aplicación Web y el objeto ActionForm se rellena automáticamente en el servidor con los datos introducidos en un formulario en la capa de presentación que interactúa con los usuarios finales.

24

Page 25: Arquitectura java web

Creación de LoginForm para nuestro Formulario Web

Formulario:

25

Page 26: Arquitectura java web

Creacion del Action en Struts

Ahora vamos a visualizar la clase Action correspondiente para esta pequeña funcionalidad implementada en Struts.

26

Page 27: Arquitectura java web

Captura de imagen de un Action de Struts

27

Page 28: Arquitectura java web

VALIDACIONES CON STRUTS

• Struts Framework proporciona la funcionalidad para validar los datos del formulario

• Se puede utilizar para validar los datos en el navegador de los usuarios, así como en el lado del servidor.

• El Framework Validator fue desarrollado por David Winterfeldt como un plug in de terceros para Struts. Ahora, el framework Validator es una parte del proyecto de Jakarta Commons y puede ser utilizado con o sin Struts. El framework Validator viene integrado con el framework Struts y puede ser utilizado sin realizar ninguna configuración adicional.

28

Page 29: Arquitectura java web

VALIDACIONES CON STRUTS

• Struts para usar las validaciones utiliza dos archivos con extensión .xml

• Estos archivos son: validator-rules.xml y validation.xml

• El validator-rules.xml define las rutinas de validación estándar, estos son reutilizables y utilizados en validation.xml

29

Page 30: Arquitectura java web

STRUTS TAGS LIBRARY

El framework Struts proporciona un conjunto de librerías de etiquetas, que asisten en la tarea de la creación de la vista de MVC para evitar incluir código Java en los JSPs, entre ellas: Bean Tags HTML Tags Logic Tags

30

Page 31: Arquitectura java web

HTML TAGS

Estas etiquetas son principalmente usadas para: Crear formularios de entrada de datos y Otras utilidades para visualizar interfaces basados en HTML.

Algunas de las acciones más útiles son: base genera un elemento HTML <base> errors condicionalmente visualiza un conjunto acumulado de

mensajes de error form define un formulario de entrada text visualiza un campo de entrada de tipo texto messages condicionalmente visualiza un conjunto de

mensajes acumulados submit visualiza un botón de entrega Etc.

31

Page 32: Arquitectura java web

Logic Tags

Usadas para: Iterar sobre colecciones Generación condicional de salida, y Flujo de aplicación

Algunas de las acciones más útiles son: present genera el contenido de marcado dentro de esta

etiqueta si el valor indicado es encontrado en esta petición notPresent lo opuesto a present iterate repite el contenido anidado dentro de esta etiqueta

al iterar sobre una colección forward transfiere control a la página especificada por la

entrada ActionForward. Etc.

32

Page 33: Arquitectura java web

Bean Tags

Usadas principalmente para: Escribir por pantalla los valores de los request en

los jsp. Definir atributos en el contexto de la pagina en

tiempo de compilación. Algunas de las mas usadas son:

Define: define un atributo en el contexto de la petición en tiempo de compilación.

Write: muestra por pantalla un valor de un objeto que se encuentre en el contexto de la petición.

33