SlideShare una empresa de Scribd logo
1 de 29
PROGRAMACIÓN AVANZADA I
DESARROLLO WEB 2
Mario Linares Vásquez
Especialización Ingeniería de Software - Unillanos
Agenda
HTTPRequest y HTTPResponse
ServletContextServletContext
Scopes
Sesiones
Expresiones y Scriptlets JSP
HTTPRequest y HTTPResponse
Ciclo de vida de una solicitud
El usuario invoca un servlet
directamente por URL, haciendo click
en un enlace o enviando un formulario
html.
El contenedor identifica que laEl contenedor identifica que la
Solicitud es para un servlet y en
esa medida crea un objeto
HTTPServletRequest y uno
HTTPServletResponse.
HTTPRequest y HTTPResponse
Ciclo de vida de una solicitud
El contenedor encuentra el servlet con
base en la url proporcionada, inicia un
hilo para el servlet e invoca el método
service() con el request y response como
argumentos.
El método service() identifica el métodoEl método service() identifica el método
HTTP del request, y con base en esto
invoca el respectivo método en el servlet.
HTTPRequest y HTTPResponse
Ciclo de vida de una solicitud
El servlet toma los parametros del request
y utliza el response para generar una
respuesta al cliente. El response vuelve
al contenedor.
Los objetos request y response quedanLos objetos request y response quedan
ruera del alcance y son marcados para
ser limpiados por el Garbage Collector.
HTTPRequest y HTTPResponse
HTTPRequest y HTTPResponse
HTTPRequest y HTTPResponse
Parámetros del request
Los valores que se ingresan en campos de tipo input de un
formulario son parametros del request que llega al servlet.formulario son parametros del request que llega al servlet.
El objeto HTTPServletRequest tiene dos métodos para acceder
a los parametros:
String param = request.getParameter("<nombre del parámetro> ");
String[] params = request.getParameterValues("<nombre del parámetro> ");
Parámetros del request
Parámetros del request
HTTServletRequest
Proporciona métodos para acceder a la siguiente información:
Información del browserInformación del browser
String client = request.getHeader(“User-Agent”);
Cookies asociadas con el request
Cookie[] cookies = request.getCookies();
Sesión asociada con el cliente
HttpSession session = request.getSession();
Método HTTP
String theMethod = request.getMethod();
InputStream del request
InputStream input = request.getInputStream();
HTTServletResponse
Se utiliza para generar la respuesta al cliente, mediante la
generación directa de contenido usando un Writer o mediante lageneración directa de contenido usando un Writer o mediante la
redirección del flujo de respuesta hacia una página JSP, un
servlet, o una URL.
HTTServletResponse
HTTServletResponse
De acuerdo con el tipo de contenido que se va a generar para el
response, en el método setContentType se puede utilizarresponse, en el método setContentType se puede utilizar
cualquiera de los tipos MIME:
text/html
application/pdf
video/quicktime
application/java
Un listado de todos los mime types se puede
encontrar enapplication/java
image/jpeg
application/jar
application/octect-stream
application/x-zip
encontrar en
http://www.iana.org/assignments/media-types/
HTTServletResponse
En el caso de una redirección de flujo se utiliza el método
sendRedirect(url)sendRedirect(url)
response.sendRedirect("http://www.mipagina.com");
response.sendRedirect(“directorio/index.jsp");
response.sendRedirect(“/index.jsp");
Relativa al contexto
Raíz del contenedor
Absoluta
response.sendRedirect(“/index.jsp"); Raíz del contenedor
Envío de atributos a JSPs
En su labor de controladores, los servlets pueden enviar datos
(en formato de VO/DTO) a las JSPs.(en formato de VO/DTO) a las JSPs.
request.setAttribute(“key”, attribute);
request.getRequestDispatcher("main.jsp").forward(request, response);
En el caso de envío de atributos a una jsp no se puede hacerEn el caso de envío de atributos a una jsp no se puede hacer
con el metodo sendRedirect del response, porque en este caso
el request ya es otro objeto.
Scopes
Los scopes proporcionan marcos de acceso a atributos de acuerdo
con la cobertura del scope. Los atributos son objetos , a diferencia
de los parámetros que son String.de los parámetros que son String.
En las aplicaciones JEE hay cuatro scopes: Context, Request, Session,
Page. En los scopes se pueden colocar y consultar atributos,
mediante los métodos setAttribute(String name, Object value) y
getAttribute(String name)
Scope Cobertura
Session Solo los componentes involucrados en la sesión
Request Los componentes involucrados en el request
Context Todo el mundo en la aplicación tiene acceso
Page Solo la página JSP que crea el objeto
Scopes
ServletContext
Proporciona un scope de información que aplica para toda la
aplicación. Es decir por cada aplicación web existe un
ServletContext.ServletContext.
Se usa para acceder a parámetros que aplican para toda la
aplicación web, como por ejemplo los parámetros de inicio que se
configuran en el deployment descriptor (web.xml).
Se usa para agregar atributos que cualquier componente de la
aplicación puede consultar.aplicación puede consultar.
Permite acceder a información como el nombre y versión del
contenedor, y la versión del API soportada.
Sesiones
Permiten la ejecución de aplicaciones bajo un modelo
conversacional, es decir el algunos objetos seleccionadosconversacional, es decir el algunos objetos seleccionados
mantienen su estado durante la el tiempo de vida de la sesión.
En las aplicaciones JEE el objeto HTTPSession permite
mantener objetos a través de múltiples requests.
Debido a que el modelo de http es stateless, es necesario
asignar un identificador unico que defina la sesión, para que
los request se mantengan en un marco conversacional.
Sesiones
Dos aproximaciones se tienen para el manejo del id de sesión:
Autenticación y cookies.Autenticación y cookies.
En el caso de las cookies, con el
primer request se genera un id en
el contenedor; este id se regresa
al cliente para que en un próximo
request pueda ser enviado al
contenedor.contenedor.
Para generar todo el proceso
solo es necesaria la siguiente
línea:
request.getSession()
Sesiones
En el caso que el cliente tenga deshabilitadas las cookies es
necesario que el id de sesión este codificado en las urls. En estenecesario que el id de sesión este codificado en las urls. En este
caso se deben usar los métodos:
response.encodeURL(String url)
response.encodeRediretURL(String url)
HTTPSession
Método Descripción
getCreationTime() Retorna el tiempo en el cual la
sesión fue creada por primera vez.
getLastAccesedTime() Retorna en ms el tiempo del ultimo
request con un session id.
setMaxInactiveInterval() Máximo tiempo en segs entre
request de la misma sesión.request de la misma sesión.
getMaxInactiveInterval() Retorna el máximo tiempo de
inactividad de la sesión.
invalidate() Finaliza la sesión.
JSP
Las páginas JSP pueden tener código Java para la generación
de contenido dinámico. El código Java puede presentar ade contenido dinámico. El código Java puede presentar a
manera de scriplets o como una expresión.
Scriplet Expresión
JSP - Contextos
Servlet JSPServlet JSP
JSP - Tags
Tag Descripción Ejemplo
<%@ %> Directiva: se usa para
importar librerías de objetos.
<%@ import=“java.util.*” %>
<%! %> Declaración: se usa para la
declaración de variables.
<%! int index = 1; %>
<% %> Scriplet: se usa para ingresar
porciones de código java.
<% for(int i=1; i<10;i++)….%>
<%= %> Expresion: se usa para la <%= request.getAttribute(” pepe”)%><%= %> Expresion: se usa para la
impresion directa de valores.
<%= request.getAttribute(” pepe”)%>
${ } Expresion EL: expresión para
acceso rápido
${applicationScope.mail}
JSP- Expression Language
Permite la evaluación inmediata de expresiones que usan el operador
. (punto) para acceder a propiedades atributos en algunos en los
scopes.scopes.
Por ejemplo ${person.name} imprime directamente el valor del
atributo name de un atributo person, que reside en alguno de scopes.
El lado derecho del operator . (punto) puede ser cualquiera de los
objetivos implicitos en los jsp:
pageScope, requestScope, sessionScope, applicationScope, param,
header, pageContext.
Bibliografía
B. Basham. Head First Servlets and JSP. Oreilly,
2008.2008.
The Java EE 5 Tutorial.
http://java.sun.com/javaee/5/docs/tutorial/doc/ind
ex.html

Más contenido relacionado

Destacado

Kuliah 1 kursus pemanduan ambulan jknp 2013
Kuliah  1 kursus pemanduan ambulan jknp 2013Kuliah  1 kursus pemanduan ambulan jknp 2013
Kuliah 1 kursus pemanduan ambulan jknp 2013Lee Oi Wah
 
How Education makes a nation as a leading nation
How Education makes a nation as a leading nationHow Education makes a nation as a leading nation
How Education makes a nation as a leading nationsidra999
 
Exclamation mark
Exclamation markExclamation mark
Exclamation marksidra999
 
Teras perkhidmatan pelanggan kkm
Teras perkhidmatan pelanggan kkmTeras perkhidmatan pelanggan kkm
Teras perkhidmatan pelanggan kkmLee Oi Wah
 
JCI Internal Audit Checklist By-Dr.Mahboob Khan Phd
JCI Internal Audit Checklist  By-Dr.Mahboob Khan Phd JCI Internal Audit Checklist  By-Dr.Mahboob Khan Phd
JCI Internal Audit Checklist By-Dr.Mahboob Khan Phd Healthcare consultant
 
Kinematics of machinery
Kinematics of machineryKinematics of machinery
Kinematics of machinerySenthil Kumar
 

Destacado (8)

Kuliah 1 kursus pemanduan ambulan jknp 2013
Kuliah  1 kursus pemanduan ambulan jknp 2013Kuliah  1 kursus pemanduan ambulan jknp 2013
Kuliah 1 kursus pemanduan ambulan jknp 2013
 
Introduction of machines and mechanism
Introduction of machines and mechanismIntroduction of machines and mechanism
Introduction of machines and mechanism
 
Analysis of Mechanism
Analysis of MechanismAnalysis of Mechanism
Analysis of Mechanism
 
How Education makes a nation as a leading nation
How Education makes a nation as a leading nationHow Education makes a nation as a leading nation
How Education makes a nation as a leading nation
 
Exclamation mark
Exclamation markExclamation mark
Exclamation mark
 
Teras perkhidmatan pelanggan kkm
Teras perkhidmatan pelanggan kkmTeras perkhidmatan pelanggan kkm
Teras perkhidmatan pelanggan kkm
 
JCI Internal Audit Checklist By-Dr.Mahboob Khan Phd
JCI Internal Audit Checklist  By-Dr.Mahboob Khan Phd JCI Internal Audit Checklist  By-Dr.Mahboob Khan Phd
JCI Internal Audit Checklist By-Dr.Mahboob Khan Phd
 
Kinematics of machinery
Kinematics of machineryKinematics of machinery
Kinematics of machinery
 

Similar a Desarrollo web2

Similar a Desarrollo web2 (20)

Programación web 1er dept
Programación web 1er deptProgramación web 1er dept
Programación web 1er dept
 
Objetos implícitos en jsp
Objetos implícitos en jspObjetos implícitos en jsp
Objetos implícitos en jsp
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Presentacion sebastian ospina
Presentacion sebastian ospinaPresentacion sebastian ospina
Presentacion sebastian ospina
 
Jsp
JspJsp
Jsp
 
Jsp
JspJsp
Jsp
 
Objetos implicitos de jsp
Objetos implicitos de jspObjetos implicitos de jsp
Objetos implicitos de jsp
 
Objetosimpliciosjsp
ObjetosimpliciosjspObjetosimpliciosjsp
Objetosimpliciosjsp
 
JSPobjetosimplicitos
JSPobjetosimplicitosJSPobjetosimplicitos
JSPobjetosimplicitos
 
Peticiones y respuestas
Peticiones y respuestasPeticiones y respuestas
Peticiones y respuestas
 
Servlet
ServletServlet
Servlet
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servlet
 
Jsp
JspJsp
Jsp
 
Web services
Web services Web services
Web services
 
Jsp1101
Jsp1101Jsp1101
Jsp1101
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Aplicaciones pagina web
Aplicaciones pagina webAplicaciones pagina web
Aplicaciones pagina web
 

Más de Josue Cucaita Murcia

Más de Josue Cucaita Murcia (13)

Cucaita m josueg semana4 actividad2 presentacion investigación accion
Cucaita m josueg semana4 actividad2 presentacion investigación accionCucaita m josueg semana4 actividad2 presentacion investigación accion
Cucaita m josueg semana4 actividad2 presentacion investigación accion
 
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativa
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativaCucaitam josueg semana2 tarea2 presentacion investigación cualitativa
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativa
 
Analisis incentivo maestria
Analisis incentivo maestriaAnalisis incentivo maestria
Analisis incentivo maestria
 
Incentivo salarial d. 1278
Incentivo salarial d. 1278Incentivo salarial d. 1278
Incentivo salarial d. 1278
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Herramientas web 2.0 para la educacion
Herramientas web 2.0 para la educacionHerramientas web 2.0 para la educacion
Herramientas web 2.0 para la educacion
 
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
 
Contador
ContadorContador
Contador
 
Dado electronico
Dado electronicoDado electronico
Dado electronico
 
Led intermitente
Led intermitenteLed intermitente
Led intermitente
 
Curso herramientas web2
Curso herramientas web2Curso herramientas web2
Curso herramientas web2
 
Curso herramientas web2
Curso herramientas web2Curso herramientas web2
Curso herramientas web2
 

Último

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Desarrollo web2

  • 1. PROGRAMACIÓN AVANZADA I DESARROLLO WEB 2 Mario Linares Vásquez Especialización Ingeniería de Software - Unillanos
  • 3. HTTPRequest y HTTPResponse Ciclo de vida de una solicitud El usuario invoca un servlet directamente por URL, haciendo click en un enlace o enviando un formulario html. El contenedor identifica que laEl contenedor identifica que la Solicitud es para un servlet y en esa medida crea un objeto HTTPServletRequest y uno HTTPServletResponse.
  • 4. HTTPRequest y HTTPResponse Ciclo de vida de una solicitud El contenedor encuentra el servlet con base en la url proporcionada, inicia un hilo para el servlet e invoca el método service() con el request y response como argumentos. El método service() identifica el métodoEl método service() identifica el método HTTP del request, y con base en esto invoca el respectivo método en el servlet.
  • 5. HTTPRequest y HTTPResponse Ciclo de vida de una solicitud El servlet toma los parametros del request y utliza el response para generar una respuesta al cliente. El response vuelve al contenedor. Los objetos request y response quedanLos objetos request y response quedan ruera del alcance y son marcados para ser limpiados por el Garbage Collector.
  • 9. Parámetros del request Los valores que se ingresan en campos de tipo input de un formulario son parametros del request que llega al servlet.formulario son parametros del request que llega al servlet. El objeto HTTPServletRequest tiene dos métodos para acceder a los parametros: String param = request.getParameter("<nombre del parámetro> "); String[] params = request.getParameterValues("<nombre del parámetro> ");
  • 12. HTTServletRequest Proporciona métodos para acceder a la siguiente información: Información del browserInformación del browser String client = request.getHeader(“User-Agent”); Cookies asociadas con el request Cookie[] cookies = request.getCookies(); Sesión asociada con el cliente HttpSession session = request.getSession(); Método HTTP String theMethod = request.getMethod(); InputStream del request InputStream input = request.getInputStream();
  • 13. HTTServletResponse Se utiliza para generar la respuesta al cliente, mediante la generación directa de contenido usando un Writer o mediante lageneración directa de contenido usando un Writer o mediante la redirección del flujo de respuesta hacia una página JSP, un servlet, o una URL.
  • 15. HTTServletResponse De acuerdo con el tipo de contenido que se va a generar para el response, en el método setContentType se puede utilizarresponse, en el método setContentType se puede utilizar cualquiera de los tipos MIME: text/html application/pdf video/quicktime application/java Un listado de todos los mime types se puede encontrar enapplication/java image/jpeg application/jar application/octect-stream application/x-zip encontrar en http://www.iana.org/assignments/media-types/
  • 16. HTTServletResponse En el caso de una redirección de flujo se utiliza el método sendRedirect(url)sendRedirect(url) response.sendRedirect("http://www.mipagina.com"); response.sendRedirect(“directorio/index.jsp"); response.sendRedirect(“/index.jsp"); Relativa al contexto Raíz del contenedor Absoluta response.sendRedirect(“/index.jsp"); Raíz del contenedor
  • 17. Envío de atributos a JSPs En su labor de controladores, los servlets pueden enviar datos (en formato de VO/DTO) a las JSPs.(en formato de VO/DTO) a las JSPs. request.setAttribute(“key”, attribute); request.getRequestDispatcher("main.jsp").forward(request, response); En el caso de envío de atributos a una jsp no se puede hacerEn el caso de envío de atributos a una jsp no se puede hacer con el metodo sendRedirect del response, porque en este caso el request ya es otro objeto.
  • 18. Scopes Los scopes proporcionan marcos de acceso a atributos de acuerdo con la cobertura del scope. Los atributos son objetos , a diferencia de los parámetros que son String.de los parámetros que son String. En las aplicaciones JEE hay cuatro scopes: Context, Request, Session, Page. En los scopes se pueden colocar y consultar atributos, mediante los métodos setAttribute(String name, Object value) y getAttribute(String name) Scope Cobertura Session Solo los componentes involucrados en la sesión Request Los componentes involucrados en el request Context Todo el mundo en la aplicación tiene acceso Page Solo la página JSP que crea el objeto
  • 20. ServletContext Proporciona un scope de información que aplica para toda la aplicación. Es decir por cada aplicación web existe un ServletContext.ServletContext. Se usa para acceder a parámetros que aplican para toda la aplicación web, como por ejemplo los parámetros de inicio que se configuran en el deployment descriptor (web.xml). Se usa para agregar atributos que cualquier componente de la aplicación puede consultar.aplicación puede consultar. Permite acceder a información como el nombre y versión del contenedor, y la versión del API soportada.
  • 21. Sesiones Permiten la ejecución de aplicaciones bajo un modelo conversacional, es decir el algunos objetos seleccionadosconversacional, es decir el algunos objetos seleccionados mantienen su estado durante la el tiempo de vida de la sesión. En las aplicaciones JEE el objeto HTTPSession permite mantener objetos a través de múltiples requests. Debido a que el modelo de http es stateless, es necesario asignar un identificador unico que defina la sesión, para que los request se mantengan en un marco conversacional.
  • 22. Sesiones Dos aproximaciones se tienen para el manejo del id de sesión: Autenticación y cookies.Autenticación y cookies. En el caso de las cookies, con el primer request se genera un id en el contenedor; este id se regresa al cliente para que en un próximo request pueda ser enviado al contenedor.contenedor. Para generar todo el proceso solo es necesaria la siguiente línea: request.getSession()
  • 23. Sesiones En el caso que el cliente tenga deshabilitadas las cookies es necesario que el id de sesión este codificado en las urls. En estenecesario que el id de sesión este codificado en las urls. En este caso se deben usar los métodos: response.encodeURL(String url) response.encodeRediretURL(String url)
  • 24. HTTPSession Método Descripción getCreationTime() Retorna el tiempo en el cual la sesión fue creada por primera vez. getLastAccesedTime() Retorna en ms el tiempo del ultimo request con un session id. setMaxInactiveInterval() Máximo tiempo en segs entre request de la misma sesión.request de la misma sesión. getMaxInactiveInterval() Retorna el máximo tiempo de inactividad de la sesión. invalidate() Finaliza la sesión.
  • 25. JSP Las páginas JSP pueden tener código Java para la generación de contenido dinámico. El código Java puede presentar ade contenido dinámico. El código Java puede presentar a manera de scriplets o como una expresión. Scriplet Expresión
  • 26. JSP - Contextos Servlet JSPServlet JSP
  • 27. JSP - Tags Tag Descripción Ejemplo <%@ %> Directiva: se usa para importar librerías de objetos. <%@ import=“java.util.*” %> <%! %> Declaración: se usa para la declaración de variables. <%! int index = 1; %> <% %> Scriplet: se usa para ingresar porciones de código java. <% for(int i=1; i<10;i++)….%> <%= %> Expresion: se usa para la <%= request.getAttribute(” pepe”)%><%= %> Expresion: se usa para la impresion directa de valores. <%= request.getAttribute(” pepe”)%> ${ } Expresion EL: expresión para acceso rápido ${applicationScope.mail}
  • 28. JSP- Expression Language Permite la evaluación inmediata de expresiones que usan el operador . (punto) para acceder a propiedades atributos en algunos en los scopes.scopes. Por ejemplo ${person.name} imprime directamente el valor del atributo name de un atributo person, que reside en alguno de scopes. El lado derecho del operator . (punto) puede ser cualquiera de los objetivos implicitos en los jsp: pageScope, requestScope, sessionScope, applicationScope, param, header, pageContext.
  • 29. Bibliografía B. Basham. Head First Servlets and JSP. Oreilly, 2008.2008. The Java EE 5 Tutorial. http://java.sun.com/javaee/5/docs/tutorial/doc/ind ex.html