从Java程序发送序列化对象到Servlet

3
我需要从我的Java程序发送一个Java对象到Servlet。我考虑通过序列化来完成。是否有其他方法可以用来将Java对象发送到Servlet?如果是通过序列化,您能否给我提供参考链接。
谢谢帮助。
5个回答

7
使用HttpURLConnection创建一个POST请求,在连接到服务器之前,从HttpURLConnection获取OutputStream,使用ObjectOutputStream进行包装,并将您的对象写入其中。
在服务器端需要做相反的操作。

谢谢您的回复。我按照您的建议成功解决了这个问题。 - Tivakar

3

发送序列化的Java对象可能存在潜在问题,因为客户端和Web服务器需要同时拥有所有涉及对象的所有类的正确版本。

如果您能够控制客户端和服务器端并且可以随意部署新版本,则没有问题。但是,如果您无法控制,则最好使用JSON或XML而不是序列化的Java对象。


耶!!!如果我遇到类似的情况,我将来想使用这个解决方案。实际上,我使用了下面的HttpURLConnection解决方案。我发现即使在客户端和服务器端放置序列化对象的包也应该相同。我在客户端中放置了我的序列化对象在一个包中,在服务器端放置了相同的序列化对象在另一个包中。当读取对象时,服务器返回ClassNotFoundException。很可能,这个解决方案更好。 - Tivakar

0

考虑一下RMI。对我来说听起来是这样的。


是的,但如果他/她控制两端,则可能不需要坚持使用Servlet。 - Adeel Ansari

0

0

看一下 Hessian:http://hessian.caucho.com/

我们使用 Hessian 将序列化的 Java 对象从我们的 Java 富客户端发送到我们的 Servlet。 Hessian 也可以与 Spring 框架 结合使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接