Arquitectura de Aplicaciones J2EE - Java
-
Upload
orlando-pihue-montoya -
Category
Documents
-
view
245 -
download
2
description
Transcript of Arquitectura de Aplicaciones J2EE - Java
Arquitectura de Aplicaciones J2EE
Lenguaje de Programacioacuten III
1SEMANA 1 Arquitectura de Aplicaciones
J2EE - Ing Orlando Pihue Montoya
2
ProgramaSEMANA 1 Arquitectura de Aplicaciones J2EE Sesioacuten 1 1Introduccioacuten y motivaciones de J2EE 2Servicios ofrecidos por un contenedor J2EE 3Versiones de J2EE 4Capas J2EE 5Empaquetado y despliegue de aplicaciones J2EE 6Descriptores de despliegue
Sesioacuten 2 Creacioacuten de Servlets 7Contenedor de servlets 8Ciclo de vida de un Servlet 9Despliegue de Servlets 10Escribir compilar instalar y ejecutar un Java Servlet 11Servlet container y servlet API 12Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
3SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
ProgramaSesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
Tecnologiacuteas y lenguajes Web
Java ASPNET PHP Perl Ruby Python
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
4
Introduccioacuten JEE
5SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
CLIENTES
Vendedores
Servicios en Linea Web
Services CORBA Portales
Presentacion
JSPJSFStrust
Reportes en linea
BI Business Intellegence
JasperReport Crystal Report
ProduccionVentasPresupuesto
Missed orders
Retornar
Orden
Modificar
Orden
Ventas MarketingGerencia
VP BU
Proyectos
CIO
Servicios en Linea
Web Services EJBs
Portales
INDUSTRIALES
SERVICIOS
COMERCIAL
Internet Information
Services o IIS
JBoss
IBM WebSphere
Application Server
ndash EJBs RMI JNDI
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Nuevos Usuarios
Business Intelligence
RMI
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
2
ProgramaSEMANA 1 Arquitectura de Aplicaciones J2EE Sesioacuten 1 1Introduccioacuten y motivaciones de J2EE 2Servicios ofrecidos por un contenedor J2EE 3Versiones de J2EE 4Capas J2EE 5Empaquetado y despliegue de aplicaciones J2EE 6Descriptores de despliegue
Sesioacuten 2 Creacioacuten de Servlets 7Contenedor de servlets 8Ciclo de vida de un Servlet 9Despliegue de Servlets 10Escribir compilar instalar y ejecutar un Java Servlet 11Servlet container y servlet API 12Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
3SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
ProgramaSesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
Tecnologiacuteas y lenguajes Web
Java ASPNET PHP Perl Ruby Python
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
4
Introduccioacuten JEE
5SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
CLIENTES
Vendedores
Servicios en Linea Web
Services CORBA Portales
Presentacion
JSPJSFStrust
Reportes en linea
BI Business Intellegence
JasperReport Crystal Report
ProduccionVentasPresupuesto
Missed orders
Retornar
Orden
Modificar
Orden
Ventas MarketingGerencia
VP BU
Proyectos
CIO
Servicios en Linea
Web Services EJBs
Portales
INDUSTRIALES
SERVICIOS
COMERCIAL
Internet Information
Services o IIS
JBoss
IBM WebSphere
Application Server
ndash EJBs RMI JNDI
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Nuevos Usuarios
Business Intelligence
RMI
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
3SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
ProgramaSesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
Tecnologiacuteas y lenguajes Web
Java ASPNET PHP Perl Ruby Python
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
4
Introduccioacuten JEE
5SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
CLIENTES
Vendedores
Servicios en Linea Web
Services CORBA Portales
Presentacion
JSPJSFStrust
Reportes en linea
BI Business Intellegence
JasperReport Crystal Report
ProduccionVentasPresupuesto
Missed orders
Retornar
Orden
Modificar
Orden
Ventas MarketingGerencia
VP BU
Proyectos
CIO
Servicios en Linea
Web Services EJBs
Portales
INDUSTRIALES
SERVICIOS
COMERCIAL
Internet Information
Services o IIS
JBoss
IBM WebSphere
Application Server
ndash EJBs RMI JNDI
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Nuevos Usuarios
Business Intelligence
RMI
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Tecnologiacuteas y lenguajes Web
Java ASPNET PHP Perl Ruby Python
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
4
Introduccioacuten JEE
5SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
CLIENTES
Vendedores
Servicios en Linea Web
Services CORBA Portales
Presentacion
JSPJSFStrust
Reportes en linea
BI Business Intellegence
JasperReport Crystal Report
ProduccionVentasPresupuesto
Missed orders
Retornar
Orden
Modificar
Orden
Ventas MarketingGerencia
VP BU
Proyectos
CIO
Servicios en Linea
Web Services EJBs
Portales
INDUSTRIALES
SERVICIOS
COMERCIAL
Internet Information
Services o IIS
JBoss
IBM WebSphere
Application Server
ndash EJBs RMI JNDI
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Nuevos Usuarios
Business Intelligence
RMI
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Introduccioacuten JEE
5SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya
CLIENTES
Vendedores
Servicios en Linea Web
Services CORBA Portales
Presentacion
JSPJSFStrust
Reportes en linea
BI Business Intellegence
JasperReport Crystal Report
ProduccionVentasPresupuesto
Missed orders
Retornar
Orden
Modificar
Orden
Ventas MarketingGerencia
VP BU
Proyectos
CIO
Servicios en Linea
Web Services EJBs
Portales
INDUSTRIALES
SERVICIOS
COMERCIAL
Internet Information
Services o IIS
JBoss
IBM WebSphere
Application Server
ndash EJBs RMI JNDI
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Nuevos Usuarios
Business Intelligence
RMI
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Java EE (Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales
Interaccioacuten con diversas fuentes de datos Interaccioacuten con otros sistemas (actuales yo legados) Acceso Web (jsp y servlet) Concurrencia Alta carga de procesamiento Usuarios con diferentes perfiles Requerimientos de seguridad Provee un ambiente de ejecucioacuten y un conjunto de
APIs Servlets JSP JSF EJB JMS JDBC JPA JNDIJavaMail JAXB JAXP JAX-WS etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
6
Java EE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya7
Versiones
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Arquitectura multi-nivel(multi-tier)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
8
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comuacuten baacutesica para el acceso a bases de datos gestioacuten de la persistencia control de seguridad gestion de transacciones
Separacioacuten clara entre presentacioacuten (interfaz) modelo (loacutegica) de negocio y datos
Plataforma basada en componentes Entes (objetos) intercambiables que residen en un servidor
de aplicaciones y son gestionados por el httpjavasuncomjavaee
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
9
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Componentes de Arquitectura
Clientes de la aplicacioacuten clientes web [navegador] clientes de escritorio Java [swing awt] clientes de escritorio no Java
Componentes Web servelts paginas JSP (Java Server Pages) JSF(Java Server Faces)
Se ejecutan en el contenedor Web Responsables de componer la presentacioacuten de datos en
formato HTML Suelen apoyarse en el uso de componentes Java Beans
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
10
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Componentes de Arquitectura
Componentes de negocio EBJ (Enterprise Java Beans) y entidades JPA (Java Persistence API )
Se ejecutan en el contenedor de EBJs Componentes (objetos Java) responsables de implementar
la loacutegica de la aplicacioacuten EBJ gestionan interacciones con los clientes e implementan
reglas de negocio Entidades Java objetos persistentes que representan los
datos de la capa EIS
Capa EIS (Enterprise Information Systems) Capa de datos gestiona la informacioacuten permanente del
sistema Bases de datos o aplicaciones empresariales rdquoheredadasrdquo
(legacy systems) que actuacutean como almacenes de datos
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
11
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Componentes de Arquitectura
En general se entiende por componente un objeto Java con restricciones se ensambla y ejecuta dentro de un
servidor de aplicaciones Java EE(contenedor)
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
12
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue
Montoya13
Contenedores
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
ContenedoresSimplifican el desarrollo de los componentes ocultando los detalles complejosSus tareas concretas depende de la capa a la que pertenezcanOfrecen servicios a los componentes actuando como interfaz entre un componente y los aspectos de bajo nivel de cada plataforma
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
14
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
ContenedoresUn contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicaciones
Seguridad Acceso a datos Transacciones Acceso a recursos Comunicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
15
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Tipos de contenedores Java EE
Servidor de Aplicaciones Java EE entorno de ejecucioacuten de aplicaciones JEE
Proporciona el contenedor Web yo el contenedor de EBJs
Contenedor EBJ (Enterprise Java Beans) gestiona la ejecucioacuten (ciclo de vida) de los EJBs
Da soporte a los componentes que implementan la capa de loacutegica de negocio
Ofrece servicios de control de acceso y seguridad control de transacciones y ejecucioacuten concurrente etc
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
16
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Tipos de contenedores Java EE
ndash Contenedor Web gestiona la ejecucioacuten de los servlets y paginas JSP
bull Da soporte a los componentes que implementan la capa Web
bull API de Servlets APIs JSP JSTL JSF JavaBeans
bull Ejemplos libres Tomcat Jettyndash Contenedor aplicacioacuten cliente ofrece la
infraestructura necesaria para la ejecucioacuten del cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
17
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Empaquetado de Aplicaciones JEE - Archivos
EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
18
Los archivos EAR (Enterprise Archive) es un formato utilizado en la arquitectura JEE para desplegar de manera coherente y simultaacutenea varios moacutedulos en un servidor de aplicaciones
Contiene archivos XML denominados descriptores de despliegue que describen como desplegar los moacutedulos contenidos en el paquete EAR
Aplicacioacutenes web java empaquetadas en WAR
+
Objetos distribuidos
EJB empaquetad
os en JAR
=
Aplicacioacuten empresarial JEE (Archivo
EAR)
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Estructura EAR
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
19
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Descriptores JEE Descriptores de
despliegue JEE (JEE deployment descriptor) configuran las opciones de despliegue de cualquier componente de Java Empresarial
Descriptores de despliegue del entorno de ejecucioacuten (runtime deployment descriptor) configuran opciones del entorno de ejecucioacuten de nuestra aplicacioacuten empresarial tales como las opciones de cacheacute en el servidor
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
20
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Despliegue de Aplicaciones
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
21
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
API Java EE - Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
22
Java EE APIs in the Web Container
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
API Java EE - Web Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
23
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
API Java EE - EJB Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
24
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
API Java EE - Application Client Container
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
25
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ciclo de vida de una aplicacioacuten web
El proceso para desarrollar empaquetar y ejecutar una aplicacioacuten web se puede resumir en
1 Desarrollar el coacutedigo de los componentes web2 Desarrollar un descriptor de despliegue (si fuera
necesario)3 Compilar los componentes de la aplicacioacuten web y
clases de ayuda referenciadas por estos componentes
4 Empaquetar la aplicacioacuten en una unidad desplegable (opcional)
5 Desplegar la aplicacioacuten en un contenedor web6 Acceder a la url que referencia la aplicacioacuten web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
26
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
IDEs
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
27
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
28
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlet
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
29
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
ServletsSesioacuten 2 Creacioacuten de Servlets 1 Contenedor de Servlets 2 Ciclo de vida de un Servlet 3 Despliegue de Servlets 4 Escribir compilar instalar y ejecutar un Java
Servlet 5 Servlet container y servlet API 6 Compartir datos entre Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
30
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlets Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo Tomcat) y extienden su cuidado
La palabra servlet deriva de otra anterior applet que se referiacutea a pequentildeos programas que se ejecutan en el contexto de un navegador web Por contraposicioacuten
El uso maacutes comuacuten de los servlets es generar paacuteginas web de forma dinaacutemica a partir de los paraacutemetros de la peticioacuten que enviacutee el navegador web
Los Servlets son la alternativa Java a los CGIs Actuacutean como capa intermedia entre
Peticioacuten proveniente de un Navegador Web u otro cliente HTTP
Bases de Datos o Aplicaciones en el servidor HTTP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
31
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlets Son aplicaciones Java especiales que extienden lafuncionalidad del servidor HTTP dedicadas a
Leer los datos enviados por el cliente Extraer cualquier informacioacuten uacutetil incluida en la cabecera
HTTP o en el cuerpo del mensaje de peticioacuten enviado por el cliente
Generar dinaacutemicamente resultados Formatear los resultados en un documento HTML Establecer los paraacutemetros HTTP adecuados incluidos
en lacabecera de la respuesta (ejemplo el tipo de documentocookies etc)1048707 Enviar el documento final al cliente
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
32
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ventajas de los Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
33
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlets
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
34
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ciclo de Vida
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
35
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ciclo de Vida Init
Se ejecuta una vez la primera vez que es invocado el servlet (el servlet se carga en memoria y se ejecuta soacutelo la primera vez que es invocado El resto de peticiones generan un hilo)
Service (no debe sobreescribirse) Se ejecuta cada vez que se produce una nueva peticioacuten Dentro de esta funcioacuten se invoca a doGet o a doPost
doGet y doPost Manejan las peticiones GET y POST Incluyen el coacutedigo principal del servlet La ejecucioacuten del servlet finalizaraacute cuando termine la
ejecucioacuten de estos meacutetodos
Destroy Se invoca cuando el servidor decide
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
36
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Contenedor de Servlets Un contenedor de Servlet es un programa capaz de
recibir peticiones de paacuteginas web y redireccionar estas peticiones a un objeto Servlet
1 El Browser pide una paacutegina al servidor HTTP que es un contenedor de Servlets
2 El contenedor de Servlets delega la peticioacuten a un Servlet en particular elegido de entre los Servlets que contiene
3 El Servlet que es una objeto java se encarga de generar el texto de la paacutegina web que se entrega al contenedor
4 El contenedor devuelve la paacutegina web al Browser que la solicitoacute
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
37
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Estructura Aplicacioacuten Web
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
38
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlet API Una interfaz de programacioacuten de aplicaciones o API
(Application Programming Interface) es el conjunto de funciones y procedimientos (o meacutetodos en la programacioacuten orientada a objetos) que ofrece cierta biblioteca
Para implementar los servlets se hace uso de javaxservlet javaxservlethttp Incluir postulados import
import javaio import javaxservlet import javaxservlethttp
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
39
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
40
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
41
WebServlet(name = Obtener urlPatterns = Obtener)
public class Obtener extends HttpServlet
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException
responsesetContentType(texthtmlcharset=UTF-8)
PrintWriter out = responsegetWriter()
try
String name=requestgetParameter(name)
tring email=requestgetParameter(email)
outprintln(lthtmlgt)
outprintln(ltheadgt)
outprintln(lttitlegtServlet Obtenerlttitlegt)
outprintln(ltheadgt)
outprintln(ltbodygt)
outprintln(ltdivgtEl nombre ingresado es ltdivgt+name)
outprintln(ltdivgtEl email ingresado es ltdivgt+email)
outprintln(ltbodygt)
outprintln(lthtmlgt)
finally
outclose()
URL relativo a la Webapp
Meacutetodo para tratar larecepcioacuten de un HTTP
Salida generada para enviar al navegador
Generacioacuten de texto
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ejemplo
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
42
Resultado
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Preguntas
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
43
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
JSP Java Server Page
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
44
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
JSP (Java Server Page)Sesioacuten 3 JavaServer Pages (JSP) 1Definir queacute es una paacutegina JSP 2Variables impliacutecitas 3Objetivo de las libreriacuteas de tags 4Creacioacuten de tags baacutesicos 5Tags con paraacutemetros 6Tags con contenido 7Control de errores 8Escribir e instalar una paacutegina JSP 9Servlet vs JSP 10Los modelos de arquitectura de una aplicacioacuten con JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
45
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
JSP JSP es una especificacioacuten de Sun Microsystems Sirve para crear y gestionar paacuteginas web
dinaacutemicas Permite mezclar en una paacutegina coacutedigo HTML para
generar la parte estaacutetica con contenido dinaacutemico creado a partir de marcas especiales
El contenido dinaacutemico se obtiene en esencia gracias a la posibilidad de incrustar dentro de la paacutegina coacutedigo Java de diferentes formas
Su objetivo final es separar la interfaz (presentacioacuten visual) de la implementacioacuten (loacutegica de ejecucioacuten)
En servlets estaban mezclados
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
46
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
JSP La paacutegina JSP se convierte en un servlet La conversioacuten la realiza en la maacutequina servidora el
motor ocontenedor la primera vez que se solicita la paacutegina JSP Este servlet generado procesa cualquier peticioacuten para
esapaacutegina JSP Si se modifica el coacutedigo de la paacutegina JSP entonces seregenera y recompila automaacuteticamente el servlet y se recarga la proacutexima vez que sea solicitada
En servlets tendriacuteamos que modificar el coacutedigo fuente recompilar
y redesplegar nosotros
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
47
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ventajas Mayor encapsulamiento
Uso de clases Uso de JavaBeans
Mayor escalabilidad Uso de tags similitud con HTML Mayor portabilidad Uso de un lenguaje estaacutendar y muy difundido Separacioacuten del contenido estaacutetico del dinaacutemico
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
48
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Ciclo de Compilacioacuten
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
49
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Variable Impliacutecitas
Variable Clase
pageContext javaxservletjspPageContext
request javaxservlethttpHttpServletRequest
response javaxservlethttpHttpServletResponse
session javaxservlethttpHttpSession
config javaxservletServletConfig
application javaxservletServletContext
out javaxservletjspJspWriter
page javalangObject
exception javalangException
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
50
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Custom Tag Library Los custom tags son elementoscomponentes que
encapsulan un comportamiento La idea que subyace detras de los custom tags es que
se elimine el coacutedigo Java en la paacutegina JSP El disentildeador podraacute usar estos custom tags sin saber
como estaacuten programados Los programadores seremos los encargados de proveer estos componentes para que sean usados
Esto implica que el coacutedigo Java estaraacute en clases por lo que el disentildeo seraacute mucho mas limpio
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
51
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Mi primer TAGVamos a desarrollar un tag que antildeada la firma de la empresa
ndash Creamos una nueva clase comdflanvintagFirmaTag que extienda TagSupport
ndash Antildeadimos un atributo privado name y su correspondiente meacutetodo setName()
ndash Implementamos el meacutetodo doEndTag()public int doEndTag( )
try pageContextgetOut( )println(ltbrgt+name +
ltbrgt------------------ltbrgtUniovies 2008)pageContextgetOut()println(ltbrgt+034985105094FAX +0349855094)
catch (IOException e) Ignore itreturn EVAL_PAGE
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
52
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Servlet vs JSP
Servlets Java con HTML embebido JSPs HTML con Java embebido
Semejanzas JSP son una extensioacuten de Servlets No aporta
funcionalidades nuevas Un JSP compilado es un Servlet Misma funcioacuten construir contenido dinaacutemico
Diferencias JSP separa maacutes claramente el disentildeo de la loacutegica Maacutes sencillo modificar coacutedigo HTML que miles de
sentencias println
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
53
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Modelo 1 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
54
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-
Modelo 2 Arquitectura JSP
SEMANA 1 Arquitectura de Aplicaciones J2EE - Ing Orlando Pihue Montoya
55
- Arquitectura de Aplicaciones J2EE
- Programa
- Programa (2)
- Tecnologiacuteas y lenguajes Web
- Introduccioacuten JEE
- Java EE
- Versiones
- Arquitectura multi-nivel(multi-tier)
- Arquitectura multi-nivel(multi-tier) (2)
- Componentes de Arquitectura
- Componentes de Arquitectura (2)
- Componentes de Arquitectura (3)
- Contenedores
- Contenedores (2)
- Contenedores (3)
- Tipos de contenedores Java EE
- Tipos de contenedores Java EE (2)
- Empaquetado de Aplicaciones JEE - Archivos EAR
- Estructura EAR
- Descriptores JEE
- Despliegue de Aplicaciones
- API Java EE - Container
- API Java EE - Web Container
- API Java EE - EJB Container
- API Java EE - Application Client Container
- Ciclo de vida de una aplicacioacuten web
- IDEs
- Preguntas
- Servlet
- Servlets
- Servlets (2)
- Servlets (3)
- Ventajas de los Servlets
- Servlets (4)
- Ciclo de Vida
- Ciclo de Vida (2)
- Contenedor de Servlets
- Estructura Aplicacioacuten Web
- Servlet API
- Ejemplo
- Ejemplo (2)
- Ejemplo (3)
- Preguntas (2)
- JSP Java Server Page
- JSP (Java Server Page)
- JSP
- JSP (2)
- Ventajas
- Ciclo de Compilacioacuten
- Variable Impliacutecitas
- Custom Tag Library
- Mi primer TAG
- Servlet vs JSP
- Modelo 1 Arquitectura JSP
- Modelo 2 Arquitectura JSP
-