spring-struts Web 应用程序中的 DTO 对象如何在不实现可序列化的情况下从客户端传输到服务器

How is the DTO objects transferred from client to server in spring-struts web application without implementing serializable

我有一个使用 Spring - Struts 框架开发的 Web 应用程序部署在 tomcat 8 服务器上。该应用程序仅托管在一台服务器上。

应用程序代码像

一样分层

Action | BPO | DAO | DTO | EntityObject

只有少数 DTO 类 implements Serializable 接口,其中使用 ehcache 将这些 DTO 对象写入文件以缓存状态。

我们真的需要 implement Serializable 所有 DTO 的接口 类 吗?

参考下面link,它说没有必要对所有 DTO 类 实现可序列化。

DTO implementation of Serializable interface

如果是这样,DTO 对象如何在没有序列化的情况下从客户端传输到服务器端?

Serializablejava.io 使用,如果您希望将对象保持在会话中,则需要它。其他一些框架在后台使用 Serializable 来执行序列化。如果您不知道使用 java.io.Serializable 序列化对象的位置,您最好将此接口添加到 DTO。

客户端可能会使用其他 serialization,如 JSON、XML 等,但不会影响服务器上的进程 运行 序列化-面,它应该由您的代码或其他一些框架单独处理,如 Struts 或 Spring,没关系。