2015-03-09 2 views
0

Могу ли я передать объект класса Java POJO на клиентскую сторону.
например, пользователь отправляет запрос на сервер «/ пользователь». сервер должен отправить ответ, как User.java объект

User.java классКак я могу передать объект 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; 
} 

}

+1

Вы можете сериализовать класс Json текст и передать его клиенту, а затем десериализации его в класс. –

+0

thanks @ mr.icetea –

+0

Или вы можете «обычную старую сериализацию Java», чтобы напрямую переносить ваши Java-объекты в виде потоков байтов. – GhostCat

ответ

1

Есть два простых способа, что я могу думать:

  1. Использование JAXB для преобразования объекта пользователя в XML и обратно для передачи данных между клиентом и сервером.
  2. Используйте GSON/Jackson, чтобы сделать то же самое с JSON.

В любом случае XML/JSON будет непосредственно сопоставляться с вашими объектами и их довольно легко реализовать.

Есть и другие способы, но я предполагаю, что вы используете веб-сервис, и они лучше всего подходят для него.

+0

точно @Dunxton .., я использую RESTful webservice –

1

Как mr.icetea предложил вы можете сериализовать объект Java в формате JSON, а затем передать его. Вы можете сделать сериализации/десериализации с использованием библиотеки ДЖЕКСОН: http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

+0

благодаря вам @ Clyde D'Cruz –

1

Есть много способов:

  1. Вы можете использовать любой из форматов JSON, XML, SOAP.

  2. Или вы можете использовать апплет

  3. RMI при использовании автономного клиента Java.

1

У меня было такое же требование, я использовал сервлет, чтобы сделать это. Если вы можете использовать сервлет, вы можете воспользоваться этой ссылкой.

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(); 
+0

messageObjectStram объект belogns, которому класс @Pasupathi –

+0

К сожалению, опечатка, я обновил ответ. –

+0

ok Mr.Pasupathi .., Спасибо за ваш комментарий –

Смежные вопросы