为什么ActionSupport实现Serializable

时间:2011-01-25 06:33:21

标签: serialization struts2

Action类需要序列化是什么?何时以及如何发生,如果有的话。

3 个答案:

答案 0 :(得分:9)

据我所知,它不需要是Serializable,并且使ActionSupport实现该接口是错误的。

这是我在这个主题上找到的最好的推理(取自here):

  

在Web框架中使用Serializable对象非常常见   夫妻或理由,例如能够保持国家的状态   服务器重新启动以及在群集中运送对象。

     

据说,(恕我直言)我认为这是一个设计错误   ActionSupport实现Serializable。我不相信任何一个   以上内容确实适用于Action对象,因为它们是短暂的。   制作动作可序列化的选择应该留给   开发人员并没有被框架“强迫”。

答案 1 :(得分:0)

这个问题可能不再适用了,但我认为这可能会有所帮助 来自Sun developer network

  

对象序列化是将对象的状态保存到序列的过程     字节数,以及将这些字节重建为活动对象的过程     在将来某个时间。

那你为什么要序列化你的对象呢?那是你需要坚持自己的状态的时候 所以你可以在以后或在另一个JVM中使用它们。 JVM可能位于同一台计算机上,也可能位于另一台计算机上的网络上。我认为ActionSupport类的情况也是如此。如果您扩展ActionSupport,您将有机会序列化您的操作并通过网络发送,以便在另一个JVM中使用。

答案 2 :(得分:-2)

我不知道为什么一定如此。但是动作类必须扩展ActionSupport。根据{{​​3}},ActionSupport实现了Serializable。所以问题的答案一直在发生:p