Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 04-dic-2007, 07:21   #1 (permalink)
superdober ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2007
Mensajes: 40
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.
superdober está desconectado   Responder Citando
Antiguo 04-dic-2007, 09:47   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.495
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!
GreenEyed está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:34.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93