Arquitectura java web

Post on 29-Jun-2015

1.522 views 0 download

description

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

Transcript of Arquitectura java web

Arquitectura Java Web

Ing. José Luis BugarinIng. José Luis Bugarinjbugarin@consultorjava.comjbugarin@consultorjava.com

1

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

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

GRAFICA DEL MODELO VISTA CONTROLADOR

4

MODELO VISTA CONTROLADOR USANDO FRAMEWORKS

5

Introducción a la capa de presentación

Ing. José Luis BugarinIng. José Luis Bugarinjbugarin@consultorjava.comjbugarin@consultorjava.com

6

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

HTTP RESPONSE REQUEST MODEL

8

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

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

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

RESPUESTAS COMUNES DE HTTP

12

Lenguajes utilizados en la capa de presentación

HTML JavaScript Hojas de estilo CSS JSP (J2EE)

13

¿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

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

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

DirectivasDeclaracionesExpresionesscriptlets

16

ESTRUCTURA JSP

Directivas Declaraciones Scriptlet

Adicionalmente el propio código HTML

17

FRAMEWORK STRUTS

18

FUNCIONAMIENTO DE STRUTS

19

COMO INICIAR CON STRUTS

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

20

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

21

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

Formulario de Datos

Formulario en HTML / JSP

23

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

Creación de LoginForm para nuestro Formulario Web

Formulario:

25

Creacion del Action en Struts

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

26

Captura de imagen de un Action de Struts

27

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

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

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

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

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

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