如何将 java 对象从服务器端传递到客户端
how can i pass java object from server side to client side
我可以将 java POJO class 对象传递给客户端吗?
例如用户向服务器发送请求"/user"。服务器应将响应作为 User.java 对象发送
User.java class 是
public class User {
private String name = null;
private String education = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
}
正如 mr.icetea 所建议的,您可以将 java 对象序列化为 json,然后将其传递。您可以使用 jackson 库执行 serialization/deserialization:http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/
方法有很多种:
您可以使用任何 JSON、XML、SOAP 格式。
或者你可以使用小程序
Rmi 如果使用独立 java 客户端。
我能想到的有两种简单的方法:
- 使用 JAXB 将用户对象转换为 xml 并返回以在客户端和服务器之间传输数据。
- 使用 GSON/Jackson 对 JSON 做同样的事情。
无论哪种方式,XML/JSON 都将直接映射到您的对象,并且相当容易实现。
还有其他方法,但我假设您使用的是 Web 服务,而这些方法最适合。
我有同样的需求,我使用 servlet 来做到这一点。会用servlet的可以参考这个
Servlet 端
ObjectInputStream objectStream = new ObjectInputStream(request.getInputStream());
User user = (User) objectStream.readObject();
objectStream .close();
客户端
User user = new User();
urlConnectionToTarget.setRequestMethod("POST");
urlConnectionToTarget.setDoOutput(true);
urlConnectionToTarget.setDoInput(true);
urlConnectionToTarget.setRequestProperty("Content-Type", "application/octet-stream");
urlConnectionToTarget.connect();
ObjectOutputStream servletObjectStream = new ObjectOutputStream(urlConnectionToTarget.getOutputStream());
servletObjectStream.writeObject(user);
servletObjectStream.flush();
servletObjectStream.close();
我可以将 java POJO class 对象传递给客户端吗?
例如用户向服务器发送请求"/user"。服务器应将响应作为 User.java 对象发送
User.java class 是
public class User {
private String name = null;
private String education = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
}
正如 mr.icetea 所建议的,您可以将 java 对象序列化为 json,然后将其传递。您可以使用 jackson 库执行 serialization/deserialization:http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/
方法有很多种:
您可以使用任何 JSON、XML、SOAP 格式。
或者你可以使用小程序
Rmi 如果使用独立 java 客户端。
我能想到的有两种简单的方法:
- 使用 JAXB 将用户对象转换为 xml 并返回以在客户端和服务器之间传输数据。
- 使用 GSON/Jackson 对 JSON 做同样的事情。
无论哪种方式,XML/JSON 都将直接映射到您的对象,并且相当容易实现。
还有其他方法,但我假设您使用的是 Web 服务,而这些方法最适合。
我有同样的需求,我使用 servlet 来做到这一点。会用servlet的可以参考这个
Servlet 端
ObjectInputStream objectStream = new ObjectInputStream(request.getInputStream());
User user = (User) objectStream.readObject();
objectStream .close();
客户端
User user = new User();
urlConnectionToTarget.setRequestMethod("POST");
urlConnectionToTarget.setDoOutput(true);
urlConnectionToTarget.setDoInput(true);
urlConnectionToTarget.setRequestProperty("Content-Type", "application/octet-stream");
urlConnectionToTarget.connect();
ObjectOutputStream servletObjectStream = new ObjectOutputStream(urlConnectionToTarget.getOutputStream());
servletObjectStream.writeObject(user);
servletObjectStream.flush();
servletObjectStream.close();