当前位置: 首页 > 面试题库 >

JSF支持bean应该可序列化吗?

昌博易
2023-03-14
问题内容

我收到以下消息:

[#| 2010-07-30T11:28:32.723 + 0000 |警告| glassfish3.0.1 | javax.faces |
_ThreadID = 37; _ThreadName = Thread-1;
|将不可序列化的属性值设置为ViewMap:((键:MyBackingBean,值类:foo.bar.org.jsf.MyBackingBean)|#]

这些是否意味着我的JSF支持bean应该实现Serializable?还是他们指的是其他问题?


问题答案:

是的,您理解正确。该视图基本上存储在会话范围内。会话范围在Servlet的JSF中HttpSession。所有会话属性都应该实现Serializable,因为一般servlet容器可以将会话数据持久保存到硬盘中,以便能够与集群中的其他服务器共享,或者可以承受繁重的负载,或者可以在服务器重启期间恢复会话。

仅当相应的类实现时,才可以在硬盘上存储原始Java对象Serializable。然后ObjectOutputStream可用于将它们写入硬盘以及ObjectInputStream从硬盘读取它们。servlet容器透明地管理所有这一切,您实际上不必担心。JSF只是发出警告,以便您了解风险。



 类似资料:
  • null null null 道: 处理与业务逻辑层的所有交互的非bean对象。它加载数据bean并准备提交,等等。我通常把它作为一类公共静态方法。 转换器、验证器: null 这似乎是一般JSF应用程序所需的全部内容。我已经阅读了以下内容:http://java.dzone.com/articles/making-distinctions-between,以及这里的回复:JSF backing

  • 有没有一种方法让JSF支持bean导致页面上组件的更新?我不希望使用带有update属性的ajax组件来更新页面上的组件。我需要从JSF backing bean方法中触发更新。注页面上的更新可能发生在此方法完成之后或完成之前。我正在使用PrimeFaces,如果使用PrimeFaces有一个解决方案的话。

  • 我需要在JAX-WS中通过客户端连接到外部服务器。客户端在Wildfly 8上运行。使用Java8连接是正常的。但我在Java7中连接到服务器时遇到了问题(我尝试了u45、67、79)。服务器端安全性的属性为https://www.ssllabs.com/ssltest/analyze.html?d=app.bundesnetzagentur.de 在部分“密码套件”中有四个密码。源代码不应支持J

  • 嗨,我在声纳皮棉中收到此错误: “Serializable”类中的字段应该是暂时的或可序列化的 私有最终条件notEmpty=锁定。newCondition() 我的代码是: 有人能提供解决方案,使sonar不会显示所有三个变量的这些错误吗?

  • 我正在用JSF做一个项目,遇到了以下问题。 当我创建以下跨度时: 它调用这个方法logout() 然而,在页面加载时,跨度内的onClick会被自动调用,如果我这样做: 并刷新页面,会话将无效。 有没有办法从span中调用方法“onClick”?我确实需要它是一个标签,这样我就可以正确使用引导图标元素。我知道onClick通常用于Javascript,但它与JSF一起使用似乎是合乎逻辑的。 编辑与

  • 众所周知,当目标接口尚未继承可序列化的时,很容易向lambda表达式添加序列化支持,就像 我要求的是一种相反的方法,即在目标接口继承时显式删除序列化支持。 由于无法从类型中删除接口,基于语言的解决方案可能看起来像是(@NotSerializable TargetInterface)()- 即使在类实现可序列化时拒绝序列化在过去是一种合法的行为,并且类在程序员的控制下,模式如下: 但是对于lambd