Sesiones

DoN
17 de Marzo del 2005
Wenas.

Tengo un servlet que es el encargado de servir las webs dinámicamente, todas las webs el mismo servlet en diferentes métodos.

Diferencio entre usuarios registrados y no registrados con una vble.

Pero el valor de ésta vble se pierde si después de un usuario registrado entra un NO registrado y viceversa.

Hay alguna opción de reservar esa variable para cada usuario?

He leido algo de HttpSessions pero no lo entiendo muy bien.

Gracias por la ayuda

Ken
17 de Marzo del 2005
La variable que controla el tipo de usuario que se conecta no debe pertenecer al servlet. Si no, te pasa lo que comentas.

El Servlet es UNICO, y manda hilos distintos a distintos clientes, pero siempre es la misma instancia (bueno, creo que técnicamente la especificación dice que "no se garantiza que haya una instancia por cliente", pero vamos que eso son temas ya de definición).

Lo que debes hacer es crear variables de sesión, como te han indicado.

Puedes crearte una instancia de HttpSession mediante el request.getSession(true) y así acceder a la sesión por usuario, es decir, al espacio que identificada inequívocamente a cada usuario.

Puedes entonces meter la variable que distingue entre usuarios en el objeto session como:

sesion.setAttribute("nombre", valor);

y recuperarla en los JSP con

sesssion.getAttribute("nombre");

Mírate en google con estas palabras clave y seguro que encuentras multitud de ejemplos.

Un saludo,

Ken

DoN
17 de Marzo del 2005
Puedo recogerla más tarde en el mismo servlet. Muchas gracias por tu ayuda, he encontrado un pdf que lo explica todo muy bien.

Gracias otra vez.

m22
17 de Marzo del 2005
Hola DoN es posible que puedas publicar la direccion en donde conseguistes ese PDF..te lo agradecería muchisimo.
Gracias