8/9/2019 Control de Sesiones
1/26
Control de sesiones
8/9/2019 Control de Sesiones
2/26
Control de sesiones
Una sesion HTTP es una serie de interacciones
entre un nico cliente HTTP y un servidor Web
como Tomcat La especificacin servlet incluye un objeto
HttpSession que almacena temporalmente la
info sobre un usuario.
carritos compra
sitios que requieren un registro
8/9/2019 Control de Sesiones
3/26
las sesiones se pueden configurar para
caducar tras un cierto tiempo de inactividad.
tras caducar, se considera la sesin comoinvlida
8/9/2019 Control de Sesiones
4/26
Tomcat tiene administradores de sesin:
utlizan el elemento Store para guardar y cargar
sesiones (es una opcin)
los administradores de sesiones implementan un
tipo de almacenamiento persistente para sus
sesiones, independientemente de que utilicen o
no la interfz de almacenamiento
8/9/2019 Control de Sesiones
5/26
para especificar una implementacin de
administracin, es como especificar un reino
8/9/2019 Control de Sesiones
6/26
casi todo el control sobre las sesiones se
realiza con los objetos Manager y Store, y
otras se pueden configurar en el fichero
web.xml
8/9/2019 Control de Sesiones
7/26
Persistencia de la sesin
consiste en guardar las sesiones HTTP en un
disco al cerrar el servidor, y volver a cargarlas
cuando se reincia.
si se necesita un lugar permanente para
almacenar la info,
en base de datos relacional en directorio LDAP
en su propio disco de almacenamiento
8/9/2019 Control de Sesiones
8/26
StandardManager
el gestor utilizado por defecto que se utiliza
cuando ningun est configurado
explcitamente en el archivo server.xml es
StandardManager
no utiliza ningn Store
tiene su propio codigo para conservar todas
las sesiones en el sistema de archivo y lo hace
slo cuando Tomcat se cierra.
8/9/2019 Control de Sesiones
9/26
serializa las sesiones en un fichero
SESSIONS.ser en el directorio de trabajo de la
aplicacin Web
(/work/Catalina/hostname/Webapp-name/
8/9/2019 Control de Sesiones
10/26
StandardManager vuelve a cargar esas
sesiones desde el fichero cuando Tomcat se
reinicia y luego elimina el fichero.
si cierre inesperado, no da tiempo a guardar
8/9/2019 Control de Sesiones
11/26
Atributos de StandardManager
8/9/2019 Control de Sesiones
12/26
8/9/2019 Control de Sesiones
13/26
PersistentManager
otro gestor que se puede usar es
PersistentManager
almacena sesiones en un almacen desesiones y as ofrece persistenca en caso de
fallos inesperados.
8/9/2019 Control de Sesiones
14/26
la clase
org.apache.catalina.session.PersistenManager
implmenta una gestin de persistencia total.
debe acompaarse de un elemento Store que
indique dnde guardar las sesiones,
ubicaciones soportadas y bases de datos JDBC
8/9/2019 Control de Sesiones
15/26
8/9/2019 Control de Sesiones
16/26
solo vienen dos implementaciones para Store
fileStore
JDBCStore
almacenan info sobre la sesion y recuerpan la info
del sistemas de archivos y de la base de datos
relacional
8/9/2019 Control de Sesiones
17/26
como el gestor StandarManager no utiliza
Stores, el nico gestor que viene con Tomcat
para usar FileStore o JDBCSotre es
PersistenManager
8/9/2019 Control de Sesiones
18/26
FileStore para guardar sesiones
en el fichero server.xml
8/9/2019 Control de Sesiones
19/26
en directorio que exista y con permisos de
escritura y escritura.
8/9/2019 Control de Sesiones
20/26
FileStore guarda cada sesion en un fichero
llamado session ID.session
no eliminar estas sesiones manualmente
cuando Tomcat se est ejecutando pq
FileStore puede intenar cargar el fichero.
8/9/2019 Control de Sesiones
21/26
Uso JDBC para guardar sesiones
Ejemplo de cmo configurar
PersistenManaget para usar JDBCStore en un
fichero server.xml
8/9/2019 Control de Sesiones
22/26
8/9/2019 Control de Sesiones
23/26
JDBCStore tiene que poder entrar a la base de
datos y poder leer y escribir en la tabla sesin
que debemos crear en la base de datos antes
de iniciar Tomcat
8/9/2019 Control de Sesiones
24/26
Interfaz de entrada comun (CGI)
Tomcat es un contenedor de servlets y paginas
JSP pero tb tiene capacidades de un servidor
Web tradicional.
soportar la interfaz de entrada comun
los servidores Web tradicionales ofrecen medios
para ejecutar programas externos en respuesta a
una peticin del navegador
8/9/2019 Control de Sesiones
25/26
CGI es comn pq puede invocar programas en
cualquier lenguaje de programacin
no es habitual ejecutar aplicaciones Java comoCGI por la carga adicional del arranque, que se
elimina usando servlets, pero en pyton, perl
8/9/2019 Control de Sesiones
26/26
para habilitar el servlet CGI en Tomcat
.en server.xml modificar la definicin del servidor
llamado cgi
modificar l asignacin del servlet a servlet CGI
colocar las secuencias CGI bajo el directorio Web-
INF / cgi
Top Related