为什么ActionSupport实现Serializable

sen*_*ngs 9 serialization struts2

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

Dan*_*iuc 9

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

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

在Web框架中,使用Serializable对象的原因有很多,例如能够在服务器重新启动时保留状态以及在集群中传输对象.

话虽如此,(恕我直言)我认为让ActionSupport实现Serializable是一个设计错误.我不相信上述任何一个都真的适用于Action对象,因为它们是短暂的.使Actions Serializable的选择应留给开发人员,而不是由框架"强制".


faj*_*ian -2

我不知道为什么一定会这样。但操作类必须扩展 ActionSupport。并根据http://struts.apache.org/2.0.6/struts2-core/apidocs/com/opensymphony/xwork2/ActionSupport.html,ActionSupport实现了Serialized。所以什么时候问题的答案,它一直在发生:p

  • 事实并非如此,操作不必扩展 ActionSupport。他们可以实现 Action 接口或仅遵守约定。 (2认同)