我试图将一个对象从服务器发送到客户端。
客户方:
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();
若然哪种方式更有效?
示例代码请:)
谢谢。
答案 0 :(得分:4)
您无法发送Object.toString(),因为它不包含有关该对象的所有信息。
序列化可能就是您所需要的。看一看:http://java.sun.com/developer/technicalArticles/Programming/serialization/
您要发送的对象必须实现Serializable。
在您的服务器上,您可以使用以下内容:
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();