Download - 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
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 [email protected]@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