Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Servlets in Mysql Server
Servlets in Mysql Server
Servlets
Resumen
Introduccin
Interfaz
Ciclo de vida
HttpRequest
HelloWorld
Parmetros de usuario
Gestin de la sesin
Contexto de aplicacin
Servlets: Introduccin
Servlet vs CGI
Eficiencia: JVM.
Facilidad de uso y aprendizaje.
Potentes: Comunicacin directa
con el servidor.
Portables.
Baratos, porque hay
programadores Java
Las del Lenguaje Java
Servlet API
Servlets: Jerarqua
Nosotros heredamos de
HttpServlet!
PUT,
Separa la peticin
en funcin del
mtodo HTTP
Writer[W]
Parameters[R]
OutputStream[W]
Session[R/W/D]
Cookies[W]
Cookies [R]
Redirect[W]
HttpServeltRequest
HttpServletResponse
service()
service
()
HolaMundo Servlet
Taller prctico.
Mi Primer Servlet
Extiende la clase
javax.servlet.http.HttpServlet
Taller prctico.
Mi Primer Servlet
Taller prctico.
Mi Primer Servlet
Taller prctico.
Mi Primer Servlet
Taller prctico.
Mi Primer Servlet
<servlet>
HolaMundo</servlet-name>
<servlet-name>HolaMundo
<servlet-class>com.dasdi.HelloWorld
com.dasdi.HelloWorld</servlet-class>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>HolaMundo
HolaMundo</servlet-name>
<url-pattern>//HolaMundoCordial
HolaMundoCordial</url-pattern>
</servlet-mapping>
http://<server>/HolaMundoCordial
HelloWorld.class
Taller prctico.
Mi Primer Servlet. FIN.
Debemos obtener
la pgina web
generada por el
servlet como
respuesta.
Examinar el cdigo
fuente de la misma
desde el Internet
Explorer mediante
Ver/Cdigo Fuente.
HttpServletRequest: Recogiendo
informacin de usuario.
Object HttpServletRequest.getParameter(nombre)
devuelve:
<form> y request.getParameter()
DESTRUCCIN:
Cuando todas las llamadas desde el cliente cesen o un
temporizador del servidor as lo indique. Se deben liberar
recursos retenidos desde init()
public void destroy()
<html>
<head>
<title>Ejemplo "Mi Primer Servlet"</title>
</head>
<body>
<form action
action=http://
=http://localhost:8888/dasdi/HolaMundo
localhost:8888/dasdi/HolaMundo
method=POST>
method
=POST>
Introduzca un texto y pulse "Submit"<BR>
<input type=text name=NOMBRE>
<input type=submit>
<input type=reset>
</
</form
form>
>
</body>
</html>
out.println("Bienvenido +
(String) req.getParameter("NOMBRE") +
" a mi primera pgina Gev!");
}
}
Gestin de la Sesin.
Mantenimiento del estado de la sesin.
Cookies.
Aadir informacin en la URL
Usar campos ocultos de formularios (HIDDEN)
Empleo del objeto HttpSession del servlet.
Interfaz HttpSession
Deprecated methods
setAttribute(nombre_variable, referencia )
getAttributesNames()
getId().
Devuelve un identificador nico generado para
cada sesin.
isNew().
True si el cliente (navegador) nunca ha visto
la sesin. False para sesin preexistente.
getCreationTime().
Devuelve la hora, en milisegundos desde
1970, en la que se creo la sesin.
getLastAccessedTime().
La hora en que la sesin fue enviada por
ltima vez al cliente.
CADUCIDAD DE LA SESION:
OJO!
SOBRECARGAR LA SESIN ES PELIGROSO!
Los elementos almacenados no se liberan hasta que
no salta el timeout o session.invalidate()
ServletContext.
.
public ServletContext getServletContext()
(Ejemplo: Contador de Visitas)
Se hereda de GenericServlet
Interfaz
ServletContext()
Duracin de Session y
ServletContext
Taller prctico
Registro de visitas
Partiendo de la prctica anterior, vamos a aadir un
registro de visitas que se base en almacenar un Integer en
la sesin del usuario.
Editamos el servlet y modificamos su cdigo de tal forma
que al final de la pgina muestre la lista de personas ya
saludadas durante la sesin del usuario actual. Para ello:
Taller prctico
Registro de visitas
Taller prctico
Registro de visitas
}
out.println("<center><a href=\"index.html\">volver</a></center>");
Taller prctico
Registro de visitas
Taller prctico
Ejercicio
Servlet 1
Servlet 2
Servlet 3
Maximiza la reutilizacin