Arquitectura Java Web
Ing. José Luis BugarinIng. José Luis Bugarin
jbugarin@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 Bugarin
jbugarin@consultorjava.comjbugarin@consultorjava.com
6
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
HTTP RESPONSE REQUEST
MODEL
8
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
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
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
ESTRUCTURA DE UNA
PAGINA JSP
 Soporta HTML.
 Los JSP consisten en:
Directivas
Declaraciones
Expresiones
scriptlets
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 Form
Action
Struts-config.xml
Paginas JSP
20
Verificar que exista la configuración
de struts en el gestor de
despliegue web.xml
21
Caso Practico – Navegación con
Struts
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

Arquitectura java web

  • 1.
    Arquitectura Java Web Ing.José Luis BugarinIng. José Luis Bugarin jbugarin@consultorjava.comjbugarin@consultorjava.com 1
  • 2.
    Objetivos Al final dela 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
  • 4.
    GRAFICA DEL MODELOVISTA CONTROLADOR 4
  • 5.
  • 6.
    Introducción a lacapa de presentación Ing. José Luis BugarinIng. José Luis Bugarin jbugarin@consultorjava.comjbugarin@consultorjava.com 6
  • 7.
    Objetivos Al final dela 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
  • 8.
  • 9.
    FUNCIONAMIENTO DE HTTP Httpdefine 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
  • 12.
  • 13.
    Lenguajes utilizados enla capa de presentación  HTML  JavaScript  Hojas de estilo CSS  JSP (J2EE) 13
  • 14.
    ¿QUE ES UNAPAGINA 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 Na 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 PAGINAJSP  Soporta HTML.  Los JSP consisten en: Directivas Declaraciones Expresiones scriptlets 16
  • 17.
    ESTRUCTURA JSP  Directivas Declaraciones  Scriptlet  Adicionalmente el propio código HTML 17
  • 18.
  • 19.
  • 20.
    COMO INICIAR CONSTRUTS  Para iniciar con struts necesitamos lo siguiente: Action Form Action Struts-config.xml Paginas JSP 20
  • 21.
    Verificar que existala configuración de struts en el gestor de despliegue web.xml 21
  • 22.
    Caso Practico –Navegación con Struts 22
  • 23.
    Formulario de Datos Formulario en HTML / JSP 23
  • 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
  • 25.
    Creación de LoginFormpara nuestro Formulario Web  Formulario: 25
  • 26.
    Creacion del Actionen Struts  Ahora vamos a visualizar la clase Action correspondiente para esta pequeña funcionalidad implementada en Struts. 26
  • 27.
    Captura de imagende un Action de Struts 27
  • 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  Estasetiquetas 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  Usadaspara:  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  Usadasprincipalmente 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