1

我进入了一个需要一些基础设施的网络项目,我真的不太了解,所以我在这里征求你的明智建议:)。

该项目为 MVC 使用 spring,并与其他名为 tracker 的项目建立连接,由套接字创建。

关键是我需要通过web创建一个名为task的实体对象,并且这个实体应该被发送到跟踪器,在那里将被处理,第一个想法是发送实体序列化,但似乎不太好,因为在里面该实体是跟踪器中不需要的许多其他实体。跟踪器也应该发回一些关于任务实现的反馈。

我已经读过使用实体任务中我需要的数据制作一个 JSON 文件并将其发送到跟踪器通常是一个好主意,但我只是想确定并知道是否还有其他可能性。

提前致谢。

4

3 回答 3

2

有很多可能性:例如 JSON 和 XML,但序列化是最简单的一种。无需创建 JSON 文件或使用现有实体,您可以创建一个新的、简单的 Java bean,其中只包含您真正需要的信息并将其发送。

当然,在这里我假设将相应地开发“traker”应用程序。

于 2013-04-29T13:20:09.080 回答
2

有很多可能性。我认为 JSON 是优于 XML 的一个不错的选择。

对于 JSON,您能否使用 Google Gson(https://code.google.com/p/google-gson/)是一个非常有用且简单的库,可以转换 JSON-JAVA,反之亦然。

Java 对象序列化是另一种可能性。要通过套接字发送 java 对象,您可以这样做:

  URL urlServlet = new URL("http://...");
  URLConnection connection = urlServlet.openConnection();

  connection.setDoInput(true);
  connection.setDoOutput(true);
  connection.setUseCaches(false);

  connection.setRequestProperty("Content-Length", 
    "512");
  connection.setRequestProperty("Content-Type", 
    "application/x-java-serialized-object");

  ObjectOutputStream output = new ObjectOutputStream(connection.getOutputStream());
  output.writeObject(getOrdenesDTO());
于 2013-04-29T13:39:12.450 回答
0

在我看来,使用 JSON 而不是序列化更容易实现,但是每个字段成员都必须转换为字符串并返回。

您可以使用瞬态关键字标记您不想序列化的字段。

其他选择当然是更困难的自己编写的套接字协议。

于 2013-04-29T13:20:20.557 回答