¿Qué es el JSF ViewState? . JSF es una tecnología basada en controles que permite a los desarrolladores trabajar de una forma sencilla con controles muy complejos manteniendo el estado entre las diferentes peticiones HTTP (stateless). En muchas situaciones la forma de trabajar es muy transparente pero hay casos en los que es conveniente saber como el framework se comporta de forma exacta. Para ello es necesario conocer el concepto de ViewState. Este concepto hace referencia a la estructura de controles que tenemos en una página concreta y a como JSF almacena su estado para posterior revisión.
JSF ViewState Sessiones
Para almacenar el estado de cada página, JSF usa objetos ViewState que almacena en Session , por cada usuario se almacena el estado de las páginas con las que esta trabajando en ese momento.
Esto en principio es totalmente transparente para el desarrollador. Sin embargo existen situaciones en las cuales puede acabar generando presión sobre le memoria del servidor ya que cada usuario almacena varias vistas. En este tipo de situaciones JSF se puede parametrizar para que almacene el estado de la vista en el cliente.
Para ello se apoyará en el campo oculto de ViewState que incrementará considerablemente su tamaño .
Para modificar el comportamiento de JSF ViewState es suficiente con añadir al web.xml un nuevo parámetro de contexto y especificar si el estado se almacena en servidor (server) o en cliente (client)
<context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param>
No hay solución mejor o peor todo depende de nuestras necesidades. Almacenar el estado en cliente implica un mayor traficode red y es algo menos seguro.
Otros artículos relacionados : JSF Ajax , JSF HTML5 , JSF Seguridad y Roles
Muy bueno el articulos amigo, comprensivo sobre todo.. Gracias por el aporte
gracias 🙂
Muy interesante el informe y además es intuitivo con los esquemas gráficos. Un saludo.
gracias
Interesante artículo. Cecilio cuando dices al final cuando concluyes el uso de este parámetro de contexto mencionas que hay menor tráfico de red pero también mencionas que es “y es algo menos seguro.” a que te refieres explícitamente o en que sentido es menos seguro??
Gracias de antemano excelente blog, no me pierdo tus entradas son muy interesantes!
gracias 🙂