1. Arquitectura Java Web
Ing. José Luis BugarinIng. José Luis Bugarin
jbugarin@consultorjava.comjbugarin@consultorjava.com
1
2. 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
3. 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
6. Introducción a la capa
de presentación
Ing. José Luis BugarinIng. José Luis Bugarin
jbugarin@consultorjava.comjbugarin@consultorjava.com
6
7. Objetivos
Al final de la sesión usted debe ser capaz de:
Conocer los fundamentos del protocolo
http
Identificar los lenguajes que se usan en la
capa de presentación.
Conocer el Framework de la capa de
presentación
Identificar herramientas para la
presentación
7
9. FUNCIONAMIENTO DE HTTP
Http 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
10. 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
11. 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
13. Lenguajes utilizados en la capa de
presentación
HTML
JavaScript
Hojas de estilo CSS
JSP (J2EE)
13
14. ¿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
15. PASOS DEL
PROCESAMIENTO JSP
N a v e g a d o r
W e b
¿ H a c a m b ia d o
la p a g in a ?
C o m p ila r S e r v le t
G e n e r a r C ó d ig o
F u e n t e
P r o c e s a r S o lic it u d
I n ic ia r S e r v le t
S I
N O
S o lic it u d
H T T P
15
16. ESTRUCTURA DE UNA
PAGINA JSP
Soporta HTML.
Los JSP consisten en:
Directivas
Declaraciones
Expresiones
scriptlets
16
24. 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
26. Creacion del Action en Struts
Ahora vamos a visualizar la clase Action
correspondiente para esta pequeña
funcionalidad implementada en Struts.
26
28. 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
29. 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
30. 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
31. 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
32. 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
33. 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