4

我正在尝试将对象从服务器发送到客户端。

客户端:

HttpResponse response = client.execute(request);

服务器端:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws  IOException 
{
    PrintWriter out = response.getWriter();
    out.print(new Object());
}

如何从响应中获取对象?
我是否需要改用:

OutputStream out = response.getOutputStream();

如果是这样,哪种方式更有效?
请提供示例代码:)
谢谢。

4

1 回答 1

4

您不能只发送 Object.toString() 因为它不包含有关对象的所有信息。序列化可能是您需要的。看一下:http: //java.sun.com/developer/technicalArticles/Programming/serialization/
您要发送的对象必须实现可序列化。然后在您的服务器上,您可以使用以下内容:

OutputStream out = response.getOutputStream();
oos = new ObjectOutputStream(out);
oos.writeObject(yourSerializableObject);

在客户端,您执行以下操作:

in = new ObjectInputStream(response.getEntity().getContent()); //Android
in = new ObjectInputStream(response.getInputStream()); //Java
ObjcetClass obj = (ObjectClass)in.readObject();
于 2012-04-14T15:05:13.180 回答