【发布时间】:2014-11-23 15:42:31
【问题描述】:
据我了解,在我的 GWT 项目中,RemoteServiceServlet 在服务器端反序列化和序列化传入和传出数据。
但是客户端呢?我的 serviceAsync 类(我想它接收来自 RemoteServiceServlet 的响应)没有扩展任何东西。
【问题讨论】:
标签: java gwt serialization deserialization rpc
据我了解,在我的 GWT 项目中,RemoteServiceServlet 在服务器端反序列化和序列化传入和传出数据。
但是客户端呢?我的 serviceAsync 类(我想它接收来自 RemoteServiceServlet 的响应)没有扩展任何东西。
【问题讨论】:
标签: java gwt serialization deserialization rpc
查看有关 RPC 管道的部分(图中的绿色框):
http://www.gwtproject.org/doc/latest/DevGuideServerCommunication.html
其中一些类(例如服务代理)是在后台自动生成的,您通常不会意识到它们的存在。
【讨论】:
您可以在 com.google.gwt.user.client.rpc.core 包下的 GWT 用户代码 (gwt-user.jar) 中找到 Java 类型的反序列化工具代码
示例 - com.google.gwt.user.client.rpc.core.java.lang
Boolean_CustomFieldSerializer.java
Byte_CustomFieldSerializer.java
Character_CustomFieldSerializer.java
Double_CustomFieldSerializer.java
Float_CustomFieldSerializer.java
Integer_CustomFieldSerializer.java
Long_CustomFieldSerializer.java
Object_Array_CustomFieldSerializer.java
Short_CustomFieldSerializer.java
StackTraceElement_CustomFieldSerializer.java
String_CustomFieldSerializer.java
Void_CustomFieldSerializer.java
对于扩展 GWT IsSerializable 或 Serializable 的自定义代码,GWT 在编译期间会生成类似的 FieldSerializer 类。
【讨论】:
这由 GWT 处理。您只需要确保您的 DTO 是可序列化的。
【讨论】: