使用 GWT RPC 序列化在 POST 中将对象从客户端发送到服务器

Posted

技术标签:

【中文标题】使用 GWT RPC 序列化在 POST 中将对象从客户端发送到服务器【英文标题】:Use GWT RPC Serialization to send an object from client to server in a POST 【发布时间】:2012-06-05 12:28:26 【问题描述】:

我更喜欢使用 RPC 序列化,然后使用 servlet 发送数据。 我们奇怪地发现它的性能更好,并且它允许我们有通用逻辑来重试所有 servlet 调用。

我已经弄清楚如何将对象从服务器发送到客户端,但找不到在客户端序列化和在服务器上反序列化的方法。

服务器到客户端

服务器:

serializedObj = RPC.encodeResponseForSuccess(DUMMY_METHOD_OF_TYPE_SERIZABLE, object);

客户:

GWT.create(MyRpc.class).createStreamReader(serializedObj).readObject();

客户端到服务器 客户:

 SerializationStreamWriter streamWriter = streamFactory.createStreamWriter();
    streamWriter.writeObject(object);
    serializedObj =  streamWriter.toString();

但是在通过 POST 将其发送到服务器后,我该如何反序列化呢?

谢谢!

【问题讨论】:

【参考方案1】:

http://softteco.blogspot.com/2010/02/serializing-objects-in-gwt-and.html

注意服务器端反序列化选项

    // Getting parameter from request
String content = request.getParameter("content");
// Initializing stream reader
ServerSerializationStreamReader streamReader = new ServerSerializationStreamReader(
Thread.currentThread().getContextClassLoader(), null);
// Filling stream reader with data
streamReader.prepareToRead(content);
// Reading deserialized object from the stream
dto = (D) streamReader.readObject();

【讨论】:

以上是关于使用 GWT RPC 序列化在 POST 中将对象从客户端发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 GWT 内置的 RPC 序列化/反序列化机制

GWT 2.3 升级后的 RPC 错误

GWT RPC 序列化和循环引用——先有鸡还是先有蛋的问题

gwt rpc 序列化泛型类

您如何在不同的项目中将 JPA 对象与 GWT 一起使用?

在 GWT-RPC 中将 ArrayList 作为参数发送