0% encontró este documento útil (0 votos)
2K vistas26 páginas

Control de Sesiones en Tomcat: Guía Completa

Este documento describe el control de sesiones en Tomcat. Las sesiones HTTP almacenan temporalmente información sobre un usuario, como carritos de compra. Las sesiones pueden configurarse para caducar después de un tiempo de inactividad. Tomcat usa administradores de sesiones que implementan almacenamiento persistente para las sesiones. Los administradores más comunes son StandardManager y PersistentManager.

Cargado por

Carmelo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas26 páginas

Control de Sesiones en Tomcat: Guía Completa

Este documento describe el control de sesiones en Tomcat. Las sesiones HTTP almacenan temporalmente información sobre un usuario, como carritos de compra. Las sesiones pueden configurarse para caducar después de un tiempo de inactividad. Tomcat usa administradores de sesiones que implementan almacenamiento persistente para las sesiones. Los administradores más comunes son StandardManager y PersistentManager.

Cargado por

Carmelo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Control de sesiones

Control de sesiones
• Una sesion HTTP es una serie de interacciones
entre un único cliente HTTP y un servidor Web
como Tomcat
• La especificación servlet incluye un objeto
HttpSession que almacena temporalmente la
info sobre un usuario.
– carritos compra
– sitios que requieren un registro…
• las sesiones se pueden configurar para
caducar tras un cierto tiempo de inactividad.
• tras caducar, se considera la sesión como
inválida
• Tomcat tiene administradores de sesión:
– utlizan el elemento Store para guardar y cargar
sesiones (es una opción)
– los administradores de sesiones implementan un
tipo de almacenamiento persistente para sus
sesiones, independientemente de que utilicen o
no la interfz de almacenamiento
• para especificar una implementación de
administración, es como especificar un reino

• <Manager className=“….”
• atributos=“” />
• 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
Persistencia de la sesión
• 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
StandardManager
• el gestor utilizado por defecto que se utiliza
cuando ningun está configurado
explícitamente en el archivo server.xml es
StandardManager
• no utiliza ningún Store
• tiene su propio codigo para conservar todas
las sesiones en el sistema de archivo y lo hace
sólo cuando Tomcat se cierra.
• serializa las sesiones en un fichero
SESSIONS.ser en el directorio de trabajo de la
aplicación Web
(/work/Catalina/hostname/Webapp-name/
• 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
• Atributos de StandardManager
• <Manager
className=“org.apache.catalina.session.Stand
ardManager” maxInactiveInterval=“7200” />
PersistentManager
• otro gestor que se puede usar es
PersistentManager
• almacena sesiones en un almacen de
sesiones y así ofrece persistenca en caso de
fallos inesperados.
• la clase
org.apache.catalina.session.PersistenManager
implmenta una gestión de persistencia total.
• debe acompañarse de un elemento Store que
indique dónde guardar las sesiones,
ubicaciones soportadas y bases de datos JDBC
• <Manager
className="org.apache.catalina.session.Persis
tentManager" debug="0"
saveOnRestart="true"> <Store
className="org.apache.catalina.session.FileSt
ore"/> </Manager>
• 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
• como el gestor StandarManager no utiliza
Stores, el único gestor que viene con Tomcat
para usar FileStore o JDBCSotre es
PersistenManager
FileStore para guardar sesiones
• en el fichero server.xml

• <Manager
className="org.apache.catalina.session.Persist
entManager" debug="0"
saveOnRestart="true"> <Store
className="org.apache.catalina.session.FileSto
re" directory="/home/jasonb/tomcat-
sessions"/> </Manager>
• en directorio que exista y con permisos de
escritura y escritura.
• 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.
Uso JDBC para guardar sesiones
• Ejemplo de cómo configurar
PersistenManaget para usar JDBCStore en un
fichero server.xml
• <Manager
className="org.apache.catalina.session.Persis
tentManager" debug="0"
saveOnRestart="true"> <Store
className="org.apache.catalina.session.JDBC
Store" driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost:3306/
mydb?user=jb&password=pw" /> </Manager>
• JDBCStore tiene que poder entrar a la base de
datos y poder leer y escribir en la tabla sesión
que debemos crear en la base de datos antes
de iniciar Tomcat
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 petición del navegador
• CGI es común pq puede invocar programas en
cualquier lenguaje de programación
• no es habitual ejecutar aplicaciones Java como
CGI por la carga adicional del arranque, que se
elimina usando servlets, pero en pyton, perl…
• para habilitar el servlet CGI en Tomcat
– .en server.xml modificar la definición del servidor
llamado cgi
– modificar l asignación del servlet a servlet CGI
– colocar las secuencias CGI bajo el directorio Web-
INF / cgi

También podría gustarte