1

というMain()クラスのオブジェクトをシリアル化するクラスがありますNames。を使用して を呼び出していApache HttpClientます。HttpPost()servlet

public static void main(String[] args) {

    Names names = new Names();
    names.setName("ABC");
    names.setPlace("Bangalore");
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("Name.txt"));
    out.writeObject(names);
    out.close();

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost:6080/HttpClientGson/FirstHttpPostServlet");

ObjectOutputStreamでは、オブジェクトを送信するにはどうすればよいでしょうか。次の行を書きました httppost.setEntity(out)

ただしsetEntity()、型のオブジェクトしか取得できませんHttpEntityHttpClientシリアル化されたオブジェクトを送信するために使用できる他の方法はありますか?

4

2 に答える 2

2

SerializableEntityHttpClient に同梱されているクラスを作成できます

httpost.setEntity(new SerializableEntity(mySerializableObj, false));

ただし、バイナリ オブジェクトのシリアル化は絶対に必要な場合にのみ使用する必要があることに注意してください。一般に、XML や JSON などの他のシリアライゼーション形式が優先されます。

于 2012-10-12T15:51:01.710 に答える
0

XStream を使用して、オブジェクトを XML/JSON にシリアル化できます。 http://x-stream.github.io/ そしてそれを渡します。

于 2012-10-09T22:50:45.573 に答える