servlet httpservletrequest getheader java http servlets request

getheader - javax.servlet.http.httpservletrequest jar



¿Cada solicitud accede al mismo objeto servlet? (2)

Cada solicitud HTTP crea un nuevo hilo, pero accede a la misma instancia del Servlet.

EDITAR: En el caso de un nodo de servidor, tendrá la misma instancia de Servlet en ese nodo. En caso de equilibrio de carga / muchos servidores, normalmente tendrá una instancia por Java VM.

¿Cada solicitud HTTP accede al mismo objeto servlet pero en un hilo diferente? ¿O crea un nuevo hilo y una nueva instancia de Servlet?


El contenedor usará la misma instancia de servlet si su servlet no implementa SingleThreadModel . De lo contrario, no hay garantía de que se golpee el mismo objeto Servlet . El contenedor es libre de crear más instancias de servlet si lo considera necesario. Pero las solicitudes vienen en diferentes hilos, no necesariamente creados recientemente (como mencionó Sanjay).

De la especificación Servlet 3.0:

Para un servlet no alojado en un entorno distribuido (el predeterminado), el contenedor de servlet debe usar solo una instancia por declaración de servlet. Sin embargo, para un servlet que implementa la interfaz SingleThreadModel, el contenedor del servlet puede crear instancias múltiples para manejar una carga de solicitudes pesada y serializar las solicitudes a una instancia en particular.

...

En general, el contenedor web maneja las solicitudes simultáneas al mismo servlet mediante la ejecución concurrente del método de servicio en diferentes subprocesos.