如何将java对象从服务器端传递到客户端

时间:2015-03-09 08:32:58

标签: java spring web-services object server

我可以将java POJO类对象传递给客户端。
例如用户向服务器" / user" 发送请求。服务器应将响应作为 User.java 对象发送

User.java类是

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;
}

}

4 个答案:

答案 0 :(得分:1)

正如mr.icetea建议您可以将java对象序列化为json然后传递它。您可以使用jackson库进行序列化/反序列化:http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

答案 1 :(得分:1)

有很多方法:

  1. 您可以使用任何JSON,XML,SOAP格式。

  2. 或者您可以使用小程序

  3. 如果使用独立的Java客户端,则为Rmi。

答案 2 :(得分:1)

我能想到两种简单的方法:

  1. 使用JAXB将User对象转换为xml,然后返回以在客户端和服务器之间传输数据。
  2. 使用GSON / Jackson对JSON执行相同的操作。
  3. XML / JSON将直接映射到您的对象,并且相当容易实现。

    还有其他方法,但我认为您使用的是Web服务,这些最适合它。

答案 3 :(得分:1)

我有同样的要求,我使用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();