2011-05-03 54 views
3

我需要從我的Java程序發送一個Java對象到Servlet。我想通過系列化來完成它。有沒有其他的東西可以用來發送一個Java對象到Servlet。如果是序列化,你可以給我鏈接供參考。從java程序發送序列化對象到servlet

感謝您的幫助

回答

7

使用一個HttpURLConnection類,創建一個POST請求,並連接到服務器之前,從HttpURLConnection的得到的OutputStream,用一個ObjectOutputStream包住它,你的目標寫它。

你將不得不在服務器端做相反的事情。

+0

感謝您的回覆。我通過你建議的方式得到了這個工作 – Tivakar 2011-05-05 14:55:12

3

發送序列化的Java對象的潛在問題是客戶端和Web服務器都需要爲涉及的所有對象都具有所有類的正確版本。

如果你能夠控制客戶端和服務器端以及能夠隨意部署新版本,那也沒關係。但是,如果您沒有更好的選擇,可能會使用JSON或XML而不是序列化的Java對象。

+0

是啊!如果我找到類似的情況,我想在將來使用此解決方案。其實,我使用下面的HttpURLConnection解決方案。我發現即使是放置Serialized對象的包在客戶端和服務器端都應該是相同的。我將序列化的對象放在客戶端的一個包中,並將相同的序列化obj放在服務器端的另一個包中。讀取對象時,服務器返回ClassNotFoundException。 可能這個解決方案更好 – Tivakar 2011-05-16 01:40:34

0

考慮RMI。這聽起來對我來說。

+0

是的......但是如果服務器端是Servlet,那麼這種方法將不起作用。 – 2011-05-03 05:32:58

+0

是的,但如果他/她能夠控制兩端,則可能不需要堅持使用Servlet。 – 2011-05-03 06:08:30