Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/03/2009, 12:54
Avatar de TolaWare
TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Respuesta: Variables globales en jsp

Una instancia de una página JSP (o un Servlet) puede ser compartida por más de un cliente.

Esto es así porque la instanciación de un JSP es costosa, por ello los contenedores de aplicaciones web, tienen varias instancias de la página JSP, de manera que cuando llega una solicitud, seleccionan una de ellas (sin tener que crearlas en ese momento) y cuando termina el procesado de la página JSP, esta instancia se coloca nuevamente en la lista de instancias disponibles para procesar otras solicitudes.

Si se declaran variables o métodos dentro de los delimitadores <%! y %> estos no van a ser estáticos por que si nomás. Para que una variable o método sea estático, tiene que ser explícitamente declarado como tal (con la palabra clave static).

Lo que te está ocurriendo, es que múltiples usuarios están usando la misma instancia de la página JSP. Esto no es un error, esto es así por cuestiones de rendimiento.

Para que cada usuario tenga su propia variable nombre, y no se pisen unos a otros, lo que debes hacer es guardar la variable "nombre" en la sesión del usuario, en vez de guardarla en un atributo de la página JSP.

Para guardar el nombre en la sesión de usuario:
Código:
session.setAttribute("nombre", "fofis13");
Para leer el nombre desde la sesión de usuario:
Código:
String nombre = (String) session.getAttribute("nombre");
Espero que te sea de ayuda.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux