¿Cómo Struts2 ValueStack se encarga de múltiples solicitudes?

entiendoValueStack fue introducido en Struts2 y un cambio más del modelo Struts1 ahora es un nuevoActionObject Se crea una instancia para cada solicitud. Por lo tanto, podemos definir variables de instancia sin preocuparnos por los problemas de subprocesos múltiples. La forma en que los interceptores y JSP acceden a las variables de instancia desde elActionObjects es a través delValueStack. Pero el caminoValueStack es implementado (o al menos utilizado por el framework Struts2) es porValueStack. para facilitar el acceso de modo que no tengamos que atravesar todo el árbol de objetos. Tengo las siguientes preguntas.

¿Qué pasa si tengo objetos incrustados (jerarquía múltiple de objetos)? ¿Cómo se comporta el mecanismo de acceso en tal caso?

Si digamos que 2 clientes realizaron solicitudes a la misma actina al mismo tiempo y el resultado de la ejecución de la acción son diferentes porque las entradas proporcionadas por 2 clientes regresaron con 2 resultados diferentes. Digamos que mi clase de acción tiene un método para obtener el mejor precio y, según la lógica de mi servicio backend, los resultados son 10 y 12 para 2 solicitudes diferentes. AhoraActionClass tiene una variable miembro llamada precio en la que se almacenará este valor y el JSP resultanteshowResults.jsp Accederé a esta variable (usando una etiqueta lib) para mostrar el precio. ¿Cómo garantiza struts2 framework que client1 y client2 obtengan la respuesta correcta y que los precios no se mezclen mientras que la respuesta se muestra en el JSP porque, por lo que entiendo,ValueStack Solo entra primero en primer lugar (lógica de pila). Por lo tanto, es posible que termine devolviendo 10 a ambas solicitudes de clientes, ya que la misma variable se almacena dos veces (con el mismo nombre) en la pila de valores pero con valores diferentes.

Cuando elValueStack destruir el objeto de su lista?

Respuestas a la pregunta(1)

Su respuesta a la pregunta