1

我有一个Main()类,我在其中序列化一个名为Names. 我正在使用Apache HttpClient'sHttpPost()来调用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()只能取对象HttpEntity类型。有没有其他方法HttpClient可以用来发送序列化对象?

4

2 回答 2

2

您可以SerializableEntity与 HttpClient 一起上课

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 回答