2015-05-04 77 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