Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/03/2009, 15:21
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: Variables globales en jsp

Cita:
Iniciado por drac94 Ver Mensaje
... si sabia q se creaba un hilo por cada sesion...
No confundir sesión con petición. Cada petición va en un Thread diferente. Las peticiones de una sesión no tienen nada que ver, a nivel de variables, excepto lo que se obtenga a través del objeto de sesión. En todo lo demás son igual que peticiones de distintas sesiones.

Cita:
Iniciado por TolaWare Ver Mensaje
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.
No exactamente. Por requerimientos de la especificación (sección srv 2.2 Number of Instances), a no ser que el servlet este en un entorno distribuido o implemente la interfaz SingleThreadModel, sólo debe existir una instancia de servlet por declaración, lo cual en el caso de los servlets lleva a una instancia por JSP. De hecho, que haya más de una instancia en un entorno normal, no tiene ningún sentido por que no mejoraría en nada el rendimiento, de hecho empeoraría el uso de memoria, y a cambio introduciría más aleatoriedad en las peticiones concurrentes. Así que no es que "pueda ser compartida por más de un cliente", es que todos los clientes comparten la misma por que así lo manda la especificación.

Quizá estes confundiendo el modelo de instancias compartidas con lo que se hace con los EJB de sesión, que si funcionan así.


S!

PD: Si, quisquilloso, ya lo se . Pero es que estas cosas son importantes para comprender por que a veces pasa lo que pasa, y además por que es bueno saber como se hacen las cosas para poder "imitarlas" cuando tenemos problemas similares (Yo he usado el modelo de 1 instancia + multiples threads para otras cosas). Y mejor dejarlo claro cuanto antes.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.