如何编写一个Serializable作为http post请求的主体?
问题描述:
我有一个客户端服务器应用程序,其中我有一个两侧Serializable
类。我必须使用client
中的ObjectOutputStream
来编写该类的对象,并在服务器上使用ObjectInputStream
来读取它。如何编写一个Serializable作为http post请求的主体?
在客户端我使用的是Apache HttpClient
(版本4.2)。我必须发送一个HttpPost
请求中的可序列化对象。如何将对象写入HttpPost
请求,以便我可以在服务器上使用ObjectInputStream
来读取它?
,我将请求发送这样的:
httpClient.execute(host,postRequest);
答
您需要使用BasicHttpEntityEnclosingRequest
包含SerializableEntity
。
基本上,它会是这个样子:
BasicHttpEntityEnclosingRequest postRequest = new BasicHttpEntityEnclosingRequest("POST", "uri");
postRequest.setEntity(new SerializableEntity(yourObject, false));
我要读上使用'ObjectInputStream.readObject()服务器端这个序列化的实体' 我读到的readObject()可以成功地只能称为如果使用writeObject(object)写入对象 – shalakha
这就是'SerializableEntity'在后台执行的操作。 –
@ Didier L:非常感谢! – shalakha