源码

jsf-Mojarra中会话中的服务器状态序列化


通过阅读一本书中的摘要,我发现了这一点:

On the server side, the state can be stored as a shallow copy or as a
deep copy. In a shallow copy, the state is not serialized in the
session. By default, JSF Mojarra uses shallow copy.

我真的不明白.

由于在上述情况下,我们将拥有-

设置为服务器的javax.faces.STATE_SAVING_METHOD,

以及一个输入隐藏字段javax.faces.ViewState,其值类似于“ 2870966362946771868:-8449289062699033744”.

显然,服务器必须在内部维护与上述隐藏字段相对应的状态.

但是顺带一提,如果状态未在会话中序列化,那么它在哪里呢?

此外,我注意到一件事,如果我的托管bean(ViewScoped)没有实现将STATE_SAVING_METHOD设置为server的标记接口Serializable,则在Mojarra中不会发生NotSerializablEexception,而在MyFaces中会发生.

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/jsf-mojarrazhonghuihuazhongdefuwuqizhuangtaixuliehua.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:11月 12, 2019 at 07:41 下午

热评文章