Servlets 如何使用ApacheHttpClient将序列化对象发送到servlet
我有一个Servlets 如何使用ApacheHttpClient将序列化对象发送到servlet,servlets,serialization,http-post,apache-httpclient-4.x,apache-httpcomponents,Servlets,Serialization,Http Post,Apache Httpclient 4.x,Apache Httpcomponents,我有一个Main()。我正在使用ApacheHttpClient的HttpPost()调用一个servlet public static void main(String[] args) { Names names = new Names(); names.setName("ABC"); names.setPlace("Bangalore"); ObjectOutputStream out = new ObjectOutputStream(new FileOut
Main()。我正在使用ApacheHttpClient的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
类型的对象。是否有其他HttpClient
方法可用于发送序列化对象?您可以使用XStream将对象序列化为XML/JSON。
然后传递它。您可以使用HttpClient附带的SerializableEntity
类
httpost.setEntity(new SerializableEntity(mySerializableObj, false));
但请注意,二进制对象序列化只应在绝对需要时使用。通常应首选其他序列化格式,如XML或JSON 您需要发送一个多部分/表单数据
请求。但是,使用Java序列化而不是JSON/XML等更可重用/可交换的数据传输格式是完全错误的。