Professional Documents
Culture Documents
Desarrollo de Servlets
y JSP
Enrique Lpez Durn
Departamento de Sistemas y Computacin
Contenido
3.1 Introduccin a JSP y Servlets
3.2. Comandos, Acciones y directivas de JSP
3.3. Arquitectura del API y ciclo de vida de Servlets
3.4 Atencin de peticiones por ProcessRequest y redireccin a
otros recursos
3.5.Manejo de excepciones
3.6.Manejo y seguimiento de sesiones
3.7 Procesamiento de formularios
Page 2
Page 3
Page 4
Get /Hello.jsp
Contenedor
JSP/Servlets
Traductor
JVM
Respuesta.html
Hello.jsp
Servlet
Page 6
1 GET /hello.jsp
2 Leer hello.jsp
4 Cargar/Compilar el JSP(Servlet).
5 Inicializar/Ejecutar el JSP(Servlet).
Limpiar el JSP(Servlet).
Page 7
Page 8
Hello.jsp
HelloServlet.java
Respuesta.html
Page 9
3.2.Comandos, Acciones y
Directivas de JSP
En un JSP adems de los Tags <% y %> existen otras variaciones
que son las siguientes.
<%= Expresin Java %>
<%! Declaracin Java %>
<%-- Comentario Java --%>
Page 10
3.2.Comandos, Acciones y
Directivas de JSP
Los elementos
empleados en JSP's
son denominados
Acciones, son
ampliamente utilizados
en conjuncin de Java
Beanspermiteencapsulardiversos valores en una Clase Java y que su contenido sea manipulable fcilmente en JSP's/Servlets.
Un Java Bean permite
encapsular diversos
valores en una Clase
Java y que su
contenido sea
manipulable fcilmente
en JSP's/Servlets.
Page 11
3.2.Comandos, Acciones y
Directivas de JSP
Mecanismo de acceso a un Java Bean usando acciones de JSP,
incluyendo persistencia en B.D
Page 12
3.2.Comandos, Acciones y
Directivas de JSP
Las sintaxis de las acciones de JSP son::
Accin
Descripcin:
<jsp:useBean atributos > Utilizado para importar Java Beans a un
JSP..
Atributos:
class : Define la Clase del Java Bean (Nombre de la Clase )
type : Tipo de Java Bean (type) [Casi nunca utilizado]
id : Indica el nombre con que ser referenciado el Java Bean dentro
del JSP (nombre)
scope : Ubicacin del Java Bean (page|request|session|application)
[Generalmente session]
Page 13
3.2.Comandos, Acciones y
Directivas de JSP
Las sintaxis de las acciones de JSP son::
Accin
<jsp:setProperty
atributos>
Descripcin:
Atributos:
Page 14
3.2.Comandos, Acciones y
Directivas de JSP
Las sintaxis de las acciones de JSP son::
Accin
<jsp:getProperty
atributos>
Descripcin:
Atributos:
Page 15
3.2.Comandos, Acciones y
Directivas de JSP
Las sintaxis de las acciones de JSP son::
Accin
<jsp:include atributos>
Descripcin:
Atributos:
Page 16
3.2.Comandos, Acciones y
Directivas de JSP
Las sintaxis de las acciones de JSP son::
Accin
<jsp:forward atributos>
Descripcin:
Atributos:
Page 17
3.2.Comandos, Acciones y
Directivas de JSP
Las "Directivas" en un JSP son aquellos colocados al inicio de la
pgina y representan actividades de inicializacin, entre ellos se
encuentran:
Directiva
Descripcin:
<%@ page opciones %> Utilizado para importar clases Java que sern
utilizadas por el JSP, parmetros de error,
coordinacin de "Threads" y otros elementos.
3.2.Comandos, Acciones y
Directivas de JSP
Directiva
<%@ include opciones %>
Descripcin:
para colocar archivos estticos dentro de JSP's,
estos generalmente son encabezados o pies de
pagina escritos en HTML.
Directiva
<%@ taglib opciones %>
Descripcin:
3.2.Comandos, Acciones y
Directivas de JSP
Objetos en JSP
Debido a que un JSP ofrece una abstraccin por arriba de un
Servlet, y ste ltimo es un Objeto (Clase) Java, tambin se tienen
acceso a diversos Objetos dentro de un JSP sin la necesidad de
realizar declaraciones complejas
Page 20
Page 21
Page 22
Page 23
Page 24
Page 25
Page 27
Page 28
Page 29
Page 30
Page 31
Page 32
Page 33
rd.forward(request,response);
}else
response.sendRedirect("index.jsp");
Page 34
3.5.Manejo de excepciones
JSP posee un mecanismo apropiado para el manejo de errores
que ocurren a tiempo de ejecucin.
El atributo errorPage de la directiva page se usa para indicar que
la pgina recibe las excepciones lanzadas por algn scriptlet.
Adems, el atributo errorPage de la misma directiva indica la
pgina JSP a la cual se redirigir el objeto implcito exception (de
tipo Throwable) que describe el problema.
Page 35
3.5.Manejo de excepciones
Ejemplo de manejo de excepciones
Para manejar errores a tiempo de ejecucin, se puede usar una
pgina que indique la naturaleza del error.
Dicha pgina debe incluir entre sus directivas la siguiente:
<%@page isErrorPage=false errorPage=Error.jsp%>
la pgina redirige a su vez el objeto exception a la pgina
Error.jsp .
La pgina Error.jsp debe contener a su vez, la directiva:
<%@page isErrorPage=true %>
Esta indicacin permite acceder al objeto exception en la pgina
Error.jsp
Page 36
3.5.Manejo de excepciones
Division.jsp
Page 37
3.5.Manejo de excepciones
ErrDiv.jsp
Page 38
3.5.Manejo de excepciones
Probar division.jsp sin error
http://localhost:8080/DAE_ej_clase2/division.jsp?op1=12&op2=6
http://localhost:8080/DAE_ej_clase2/division.jsp?op1=12&op2=0
Page 39
3.5.Manejo de excepciones
Probar division.jsp con error
Sin parmetros http://localhost:8080/DAE_ej_clase2/division.jsp
Utilizar una letra en lugar de nmeros en los operandos
http://localhost:8080/DAE_ej_clase2/division.jsp?op1=10&op2=A
Page 40
3.6.Manejo y seguimiento de
Sesiones
No se pueden guardar tipos simples en una sesin, pero se puede
guardar cualquier tipo de objeto identificado por una cadena nica de
caracteres.
El siguiente scriptlet hace al objeto Book pblicamente disponible para
todas las pginas y servlets JSP que compartan la misma sesin:
<% Book book = new Book();
session.putValue(book,book);
%>
El objeto book puede recuperarse realizando una coercin para convertirlo
al tipo apropiado:
<% Book book = (Book)session.getValue(book); %>
No hay lmite en el nmero de objetos que se pueden manejar en una
sesin, aunque un gran nmero de ellos reducir el rendimiento del
sistema.
Generalmente, la duracin de una sesin est limitada a 30 minutos,
aunque la duracin puede ampliarse regularmente usando el mtodo
setMaxIntactiveInterval(int secs).
Page 42
3.6.Manejo y seguimiento de
Sesiones
Ejemplo de sesion.jsp
Page 43
3.6.Manejo y seguimiento de
Sesiones
sesion1.jsp
Page 44
3.6.Manejo y seguimiento de
Sesiones
sesion2.jsp
Page 45
3.6.Manejo y seguimiento de
Sesiones
Sesion3.jsp
Page 46
3.6.Manejo y seguimiento de
Sesiones
Corrida de una sesincon invalidacin
Page 47
3.6.Manejo y seguimiento de
Sesiones
3.6.Manejo y seguimiento de
Sesiones
INICIO DE SESION. Manejada en Servlet donde se autentifica al
usuario.
Page 49
3.6.Manejo y seguimiento de
Sesiones
FIN DE SESION. Manejada en Servlet cuando se elige terminarla.
Page 50
3.6.Manejo y seguimiento de
Sesiones
Algoritmo de verificacin de sesin en pginas JSP con sesin iniciada:
SetHeader:
agrega atributos y su valor al
encabezadoHTTP
Algortimo
Page 51
Page 54
Page 55
Click en next
En las opciones de "Framework", activamos la opcin "JavaServer
Faces" y nos aseguramos de que utilice en "Server Library" la opcin
JSF 2.2.
Page 56
Page 57
Page 58
Page 59
Page 60
Page 61
Page 62
Page 63
Page 64
Page 65
Page 66
mensajes.properties:
Salida:
Page 67
Page 68
Page 69