繁体   English   中英

GWT中IsSerializable接口的用途是什么(关于RPC机制)

[英]What is the purpose of the IsSerializable interface in GWT (regarding the RPC mechanism)

GWT中IsSerializable接口的用途是什么(关于RPC机制)。 我从来没有找到一个很好的解释,为什么它是这样的,以及为什么默认的Java Serializable标记接口不起作用。

根据GWT序列化文档SerializableIsSerializable工作:

如果满足以下所有条件,则用户定义的类是可序列化的:

  1. 它可以分配给IsSerializable或Serializable,因为它直接实现了这些接口之一,或者因为它派生自一个超类
  2. 所有非最终的非瞬态实例字段本身都是可序列化的,并且
  3. 从GWT 1.5开始,它必须具有默认(零参数)构造函数(使用任何访问修饰符)或根本没有构造函数。

但一个关键的区别是,出于安全原因,所有Serializable类必须包含在序列化策略中,该策略在编译时生成,而IsSerializable类不具有该要求。

如果你的兴趣纯粹是在GWT中,并且你没有例如在web应用程序和另一个应用程序之间共享你的模型类,我建议你让你的模型类/ DTO实现IsSerializable

如果你与其他程序共享你的对象,那么使用Serializable,因为它是一个标准的java库函数,

但是如果你只想在GWT中的服务器和客户端之间传递它,那么使用IsSerializable 它可以帮助您确保不启用它开始将它传递到它不应该去的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM