arquitectura java web
DESCRIPTION
Descripción sobre la arquitectura java web. Revisión de strutsTRANSCRIPT
![Page 2: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/4.jpg)
GRAFICA DEL MODELO VISTA CONTROLADOR
4
![Page 5: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/5.jpg)
MODELO VISTA CONTROLADOR USANDO FRAMEWORKS
5
![Page 6: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/6.jpg)
Introducción a la capa de presentación
Ing. José Luis BugarinIng. José Luis [email protected]@consultorjava.com
6
![Page 7: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/8.jpg)
HTTP RESPONSE REQUEST MODEL
8
![Page 9: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/12.jpg)
RESPUESTAS COMUNES DE HTTP
12
![Page 13: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/13.jpg)
Lenguajes utilizados en la capa de presentación
HTML JavaScript Hojas de estilo CSS JSP (J2EE)
13
![Page 14: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/14.jpg)
¿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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/16.jpg)
ESTRUCTURA DE UNA PAGINA JSP Soporta HTML. Los JSP consisten en:
DirectivasDeclaracionesExpresionesscriptlets
16
![Page 17: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/17.jpg)
ESTRUCTURA JSP
Directivas Declaraciones Scriptlet
Adicionalmente el propio código HTML
17
![Page 18: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/18.jpg)
FRAMEWORK STRUTS
18
![Page 19: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/19.jpg)
FUNCIONAMIENTO DE STRUTS
19
![Page 20: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/20.jpg)
COMO INICIAR CON STRUTS
Para iniciar con struts necesitamos lo siguiente:Action FormActionStruts-config.xmlPaginas JSP
20
![Page 21: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/21.jpg)
Verificar que exista la configuración de struts en el gestor de despliegue web.xml
21
![Page 22: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/23.jpg)
Formulario de Datos
Formulario en HTML / JSP
23
![Page 24: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/25.jpg)
Creación de LoginForm para nuestro Formulario Web
Formulario:
25
![Page 26: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/27.jpg)
Captura de imagen de un Action de Struts
27
![Page 28: Arquitectura java web](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081512/55905a441a28ab8f208b4579/html5/thumbnails/33.jpg)
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