In JSF 2.0 specification in the restore/create View phase (section “2.2 Standard Request Processing Lifecycle Phases”) it is said:
If the request is a postback, call setProcessingEvents(false) on the
current FacesContext. Then call ViewHandler.restoreView(), passing the
FacesContext instance for the current request and the view identifier,
and returning a UIViewRoot for the restored view. If the return from
ViewHandler.restoreView() is null, throw a ViewExpiredException with
an appropriate error message. …
when it is been talked about ViewHandler.restoreView() which state is being refered here ? the server component state or the client component state here ?
more generally, how does one differentiate between the client and the server state? how JSF 2.0 manage to keep both synchronized with each other, if there is interaction of any sort?
Where Wikipedia acknowledges several types of state saving, including client and Server State saving and restoring, it does not elaborate more on them.
It’s the JSF component tree, so I think that whatever you’ve definied the “server component state” term in your mind applies the most here, as your “client component state” term refers most probably the HTML DOM tree (which is by JSF generated during render response phase and sent from server to client).
Yes, the HTTP request (there’s basically no other way to let the HTTP client interact with the HTTP server…). Note particularly the
javax.faces.ViewStaterequest parameter.