是否有任何状态保存方法允许JSF应用程序在服务器上初始保存状态数据但在会话到期时间间隔之后,该状态将转移到客户端,以便即使在服务器和放大器上的会话超时之后,应用程序也始终响应;内存在服务器上管理得更好?
或者这可以实现吗?但我希望这应该是JSF规范的一部分!
在BalusC的建议之后,我对Stateless JSF principles & the current implementation for it印象深刻。如果此处的其他任何人也对将无状态JSF添加到JSF规范感兴趣,请考虑查看或投票this issue。
无状态JSF为某些收益提供了巨大的性能提升,例如无法动态创建视图(例如通过绑定,JSTL标记等)或修改它。
无状态JSF操作模式 对于高负载应用程序来说非常有用 架构:
雅各布此前曾建议: http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html
这将有助于JSF放弃“慢速和记忆力”的耻辱,并且 帮助跟上当前的技术趋势(无状态架构。)
答案 0 :(得分:5)
技术上如何可行?如果下一个请求将创建新会话,则服务器永远不能可靠地预测,因此当前请求的响应必须使用客户端状态保存而不是服务器端状态保存。如果您使用普通的JSP / Servlet成功实现它,请随意发布JSF规范增强请求。
只需使用客户端状态保存,并确保启用了部分状态保存。与完全状态保存相比,开销相对较小。
请注意,完全无状态的JSF是可能的。另见this blog。唯一的主要收益是您无法动态创建视图(例如,通过binding
,JSTL标记等),也不能在创建后对其进行操作(例如,通过添加/删除组件的子项)。