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/
送信するオブジェクトは、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();
于 2012-04-14T15:05:13.180 に答える