相关疑难解决方法(0)

为什么JSF会在服务器上保存UI组件的状态?

  1. 直到在什么时间点不JSF UI保存组件的状态在服务器端和什么时候被删除的UI组件的状态信息从服务器内存?当应用程序中的登录用户浏览页面时,组件的状态是否会继续在服务器上累积?

  2. 我不明白在服务器上保持UI组件状态有什么好处?是不是直接将经过验证/转换的数据传递给托管bean?我可以或者应该尽量避免它吗?

  3. 如果有数千个并发用户会话,那么在服务器端是否会消耗太多内存?我有一个应用程序,用户可以在某些主题上发布博客.这个博客的规模非常大.当有回复或请求查看博客时,这些大页面数据是否会被保存为组件状态的一部分? 这会耗费太多记忆.这不是一个问题吗?


更新1:

现在,在使用JSF时不再需要保存状态.可以使用高性能无状态JSF实现.有关详细信息和讨论,请参阅此博客此问题.此外,JSF规范中还包含一个未解决的问题,即为JSF提供无状态模式的选项.(PS考虑的问题投票这个这个,如果这对你是一个非常有用的功能.)


更新2(24-02-2013):

一个好消息,Mojarra 2.1.19无状态模式!

看这里:

http://weblogs.java.net/blog/mriem/archive/2013/02/08/jsf-going-stateless?force=255

http://java.net/jira/browse/JAVASERVERFACES-2731

http://balusc.blogspot.de/2013/02/stateless-jsf.html

java jsf java-ee state-saving

103
推荐指数
1
解决办法
5万
查看次数

什么是JSF 2.0中的STATE_SAVING_METHOD参数

我无法理解web.xml中这一行的功能是什么

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

我已经读过NetBeans默认是客户端.我刚遇到一个问题,我在我的应用程序中有很多bean,并且<param-value>设置为客户端,所以我得到了

java.io.NotSerializableException

错误,虽然我的bean是Serializable(即他们实现了Serializable接口.).我的豆子在@ViewScope中.但是当我把它改成服务器时,事情就会起作用.为什么?使用客户端和服务器时有什么区别.任何人都可以借助一个例子来解释我.

谢谢

jsf-2

44
推荐指数
2
解决办法
5万
查看次数

标签 统计

java ×1

java-ee ×1

jsf ×1

jsf-2 ×1

state-saving ×1