2011-05-03 57 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