Ensayo

Páginas: 5 (1097 palabras) Publicado: 17 de agosto de 2014
Curso de Java
Cápsulas

Servlets y el seguimiento de sesiones
El seguimiento de sesión es un mecanismo que los servlets utilizan para mantener
el estado sobre la serie de peticiones desde un mismo usuario (esto es, peticiones
originadas desde el mismo navegador) durante un periodo de tiempo.
Las sesiones son compartidas por los servlets a los que accede el cliente. Esto es
convenientepara aplicaciones compuestas por varios servlets. Para utilizar el
seguimiento de sesión debemos:
Obtener una sesión (un objeto HttpSession) para un usuario.
Almacenar u obtener datos desde el objeto HttpSession.
Invalidar la sesión (opcional).

§
§
§

Obtener una Sesión
El método getSession del objeto HttpServletRequest devuelve una sesión de
usuario. Cuando llamamos al método con suargumento create como true, la
implementación creará una sesión si es necesario.
Para mantener la sesión apropiadamente, debemos llamar a getSession antes de
escribir cualquier respuesta. Si respondemos utilizando un PrintWriter, entonces
debemos llamar a getSession antes de acceder al PrintWriter, no sólo antes de
enviar cualquier respuesta.
public class CatalogoServlet extends HttpServlet {}

public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// Obtiene la variable sesión para el usuario.
HttpSession session = request.getSession(true);
...
out = response.getWriter();
...
}

Almacenar y Obtener Datos desde la Sesión
El Interface HttpSession proporciona métodos que almacenan y recuperan:

§Propiedades de Sesión estándar, como un identificador de sesión.

Jesús Cáceres Tello

Pág. 1 - 4

Curso de Java
Cápsulas
§

Datos de la aplicación, que son almacenados como parejas nombre-valor,
donde el nombre es un string y los valores son objetos del lenguaje de
programación Java. Como varios servlets pueden acceder a la sesión de
usuario, deberemos adoptar una convención de nombrado paraorganizar los
nombres con los datos de la aplicación. Esto evitará que los servlets
sobrescriban accidentalmente otros valores de la sesión. Una de esas
convenciones es servletname.name donde servletname es el nombre
completo
del
servlet,
incluyendo
sus
paquetes.
Por
ejemplo,
es.uah.comunica.estado
es
una
cookie
con
el
servletname
es.uah.comunica y el name estado.

publicclass CatalogServlet extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Obtiene la variable de sesión del usuario con un objeto de tipo Usuario
// el cual guarda los datos personales del usuario.
HttpSession session = request.getSession(true);
Usuario miuser =
(Usuario)session.getValue(session.getId());}

// Si el usuario no creó una sesión hasta ahora se crea un objeto Usuario nuevo
// con los datos recibidos (por ejemplo)
if (miuser == null) {
miuser = new Usuario(response.getParameter(“nombre”),
response.getParameter(“apellidos”)
response.getParameter(“edad”));
session.putValue(session.getId(), miuser);
}
...
}

Como un objeto puede ser asociado con una sesión, el ejemploanterior autentica al
usuario, para ello comprueba si ha iniciado sesión anteriormente viendo si el objeto
asociado a la sesión es nulo o no. En caso de serlo creará la sesión con un nuevo
objeto Usuario cuyos datos los recuperará con la instrucción getParameter del
objeto HttpServletResonse.
Una sesión puede ser designada como nueva. Una sesión nueva hace que el
método isNew de la claseHttpSession devuelva true, indicando que, por
ejemplo, el cliente, todavía no sabe nada de la sesión. Una nueva sesión no tiene
datos asociados.

Invalidar la Sesión
Una sesión de usuario puede ser invalidada manual o automáticamente,
dependiendo de donde se esté ejecutando el servlet. (Por ejemplo, el Java Web
Server, invalida una sesión cuando no hay peticiones de página por un periodo de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ensayo de el Ensayo
  • ensayo de ensayo
  • Ensayo Del Ensayo
  • Ensayo de un ensayo
  • Ensayemos un ensayo
  • ensayo del ensayo
  • Ensayo del ensayo
  • Ensayo del ensayo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS