Foros del Web » Programación para mayores de 30 ;) » Java »

Duda sobre servlets

Estas en el tema de Duda sobre servlets en el foro de Java en Foros del Web. Buenas! En una aplicación web hecha solo con servlets, (las páginas html se generan también desde los servlets) Tenemos un problema cuando muchos usuarios entran ...
  #1 (permalink)  
Antiguo 04/12/2007, 08:21
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Duda sobre servlets

Buenas!

En una aplicación web hecha solo con servlets, (las páginas html se generan también desde los servlets) Tenemos un problema cuando muchos usuarios entran a la vez, y es que cada usuario debería de tener sus propias variables pero parece ser que todos las comparten.

Hemos probado a meterlas en una sesión también (la sesión creada desde el propio servlet) y al leer las variables de sesión con el siguiente código:

HttpSession sesion = request.getSession();
usuario = (SesionDeUsuario)sesion.getAttribute("usuario");

usuario siempre tiene el valor de la última persona que haya entrado.

¿Esto es por el servlets, por qué está mal configurado nuestro servidor, o por qué puede ser?

Muchas gracias.
  #2 (permalink)  
Antiguo 04/12/2007, 10:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda sobre servlets

La sesion depende de una cookie que envia el navegador al servidor. La unica forma que "compartan" objetos de sesion es que tengan la misma sesion, y para eso han de enviar la misma cookie o enviar el mismo parametro JSESSION_ID o asi.

Los servlets no funcionan asi normalmente. Entre sesiones distintas solo se comparten las variables del contexto, asi que debe ser un error en las pruebas o algo que hace que se envie el mismo parametro/cookie identificador de la sesion.

Tambien puede ser que si el objeto usuario se comparte entre peticiones, al acceder simultaneamente acabe el mismo usuario en todas las sesiones por una mala sincronizacion de acceso. Dos cosas a mirar:
.- ¿Solo ocurre entre sesiones que entren a la vez o entre cualquier sesion, entre mas pronto o mas tarde?.
.- ¿En que ambito esta definida la variable usuario?

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:53.