我有一个Main()
类,我在其中序列化一个名为Names
的类的对象。我使用Apache HttpClient
的{{1}}来呼叫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()
类型的对象。是否有其他HttpEntity
方法可用于发送序列化对象?
答案 0 :(得分:2)
您可以使用HttpClient附带SerializableEntity
类
httpost.setEntity(new SerializableEntity(mySerializableObj, false));
但请注意,只有在绝对需要时才应使用二进制对象序列化。通常应首选其他序列化格式,如XML或JSON。
答案 1 :(得分:0)
您可以使用XStream将对象序列化为XML / JSON。 http://x-stream.github.io/ 然后传递它。