¿Cada solicitud HTTP accede al mismo objeto de servlet pero en un hilo diferente? ¿o crea un nuevo hilo y una nueva instancia de servlet?¿Cada solicitud accede al mismo objeto de servlet?
Respuesta
El contenedor utilizará 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 de nueva creación (como Sanjay mencionó).
partir de la especificación Servlet 3.0:
Para un servlet no alojada en un entorno distribuido (el valor predeterminado), el contenedor de servlets debe usar sólo una instancia por declaración de servlet. Sin embargo, para un servlet que implementa la interfaz SingleThreadModel, el contenedor de servlets puede instanciar instancias múltiples para manejar una pesada carga de solicitud y serializar las solicitudes a una instancia particular.
...
general, el contenedor Web gestiona las peticiones simultáneas al mismo servlet por ejecución concurrente del método de servicio en diferentes hilos.
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 balanceo de carga/muchos servidores, generalmente tendrá una instancia por Java VM.
Estoy bastante seguro de que realmente no * crea * un nuevo hilo siempre; más parecido recoge un hilo libre de un grupo de subprocesos existente. –
@ SanjayT.Sharma Tiene razón, a menudo se hace de esta manera (por razones de rendimiento), pero este es el detalle de implementación del servidor de aplicaciones/contenedor de servlets y su código no debe depender de eso –
- 1. Java servlet y JSP accediendo al mismo bean de sesión
- 2. "NSString stringWithFormat:" - ¿Accede al mismo parámetro varias veces?
- 3. Symfony2: ¿objeto de referencia similar al objeto de solicitud?
- 4. Diferencia entre cada instancia de servlet y cada subproceso de servlet en servlets?
- 5. Obteniendo URL de solicitud en un servlet
- 6. Django-apio: Pasando solicitud Objeto al trabajador
- 7. Bloqueo anidado al mismo rendimiento del objeto
- 8. jQuery: ¿objeto y función al mismo tiempo?
- 9. ¿Guardar y reutilizar una solicitud en un filtro de servlet?
- 10. Llamando al Servlet Post desde otro Servlet
- 11. ¿Puedo hacer una solicitud de CURL al mismo servidor?
- 12. 2 solicitud de php diferente al mismo tiempo por usuario
- 13. Throttle solicitud HTTP en Java Servlet
- 14. ¿Debería un contenedor servlet crear una nueva instancia javax.servlet.http.HttpServlet para cada solicitud entrante?
- 15. muchos url-pattern para el mismo servlet
- 16. es una tabla temporal mysql única para cada usuario que accede al script que la crea ...?
- 17. .NET XmlSerializer y múltiples referencias al mismo objeto
- 18. Acceso al objeto Solicitud desde etiquetas JSP personalizadas
- 19. ¿Se crean AppDomains para cada solicitud?
- 20. Reflection.Emit: accede al elemento más al máximo de la pila
- 21. ¿Cuándo puedo comparar punteros al mismo objeto en C++?
- 22. Llamando eliminar en dos punteros al mismo objeto
- 23. ¿Cuál es exactamente la solicitud de Ajax? ¿Es diferente de la solicitud de servlet?
- 24. ¿Es seguro permitir que dos subprocesos editen diferentes propiedades del mismo objeto al mismo tiempo?
- 25. ¿Es posible tener 2 variables apuntando al mismo objeto? (javascript)
- 26. Comparación entre variables que apuntan al mismo objeto Entero
- 27. Jquery Cada objeto JSON
- 28. ¿Cómo puedo saber si la solicitud al servlet se ejecutó mediante HTTP o HTTPS?
- 29. ASP.NET MVC 2 VirtualPathProvider GetFile cada vez para cada solicitud
- 30. Objeto de solicitud de acceso desde REST
¿Por qué no crear instancias de un servlet a petición? –
posible duplicado de [¿Cómo funcionan los servlets? Instanciación, variables de sesión y multihebra] (http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-session-variables-and-multithreading) – BalusC