2015-05-04 76 views
2

我有一个客户端服务器应用程序,其中我有一个两侧Serializable类。我必须使用client中的ObjectOutputStream来编写该类的对象,并在服务器上使用ObjectInputStream来读取它。如何编写一个Serializable作为http post请求的主体?

在客户端我使用的是Apache HttpClient(版本4.2)。我必须发送一个HttpPost请求中的可序列化对象。如何将对象写入HttpPost请求,以便我可以在服务器上使用ObjectInputStream来读取它?

,我将请求发送这样的:

httpClient.execute(host,postRequest); 

回答

1

您需要使用BasicHttpEntityEnclosingRequest包含SerializableEntity

基本上,它会是这个样子:

BasicHttpEntityEnclosingRequest postRequest = new BasicHttpEntityEnclosingRequest("POST", "uri"); 
postRequest.setEntity(new SerializableEntity(yourObject, false)); 
+0

我要读上使用'ObjectInputStream.readObject()服务器端这个序列化的实体' 我读到的readObject()可以成功地只能称为如果使用writeObject(object)写入对象 – shalakha

+0

这就是'SerializableEntity'在后台执行的操作。 –

+0

@ Didier L:非常感谢! – shalakha