comment puis-je passer un object java du côté serveur au côté client

puis-je passer l’object de classe Java POJO du côté client.
Par exemple, l’utilisateur envoie une demande au serveur “/ user” . le serveur doit envoyer la réponse en tant qu’object User.java

La classe User.java est

public class User { private Ssortingng name = null; private Ssortingng education = null; public Ssortingng getName() { return name; } public void setName(Ssortingng name) { this.name = name; } public Ssortingng getEducation() { return education; } public void setEducation(Ssortingng education) { this.education = education; } 

}

Il y a deux manières simples de penser à:

  1. Utilisez JAXB pour convertir l’object utilisateur en fichier XML et inversement pour transférer les données entre le client et le serveur.
  2. Utilisez GSON / Jackson pour faire la même chose avec un JSON.

De toute façon, le XML / JSON sera directement mappé sur vos objects et sera assez facile à implémenter.

Il existe d’autres moyens, mais je suppose que vous utilisez un service Web et que ceux-ci sont le mieux adaptés.

Comme mr.icetea vous a suggéré de sérialiser l’object java en json, puis de le transmettre. Vous pouvez faire la sérialisation / désérialisation en utilisant la bibliothèque jackson: http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

Il y a plusieurs façons:

  1. Vous pouvez utiliser l’un des formats JSON, XML, SOAP.

  2. Ou vous pouvez utiliser l’applet

  3. Rmi si vous utilisez un client Java autonome.

J’avais la même exigence, j’ai utilisé servlet pour le faire. Si vous pouvez utiliser le servlet, vous pouvez prendre cette référence.

Côté servlet

 ObjectInputStream objectStream = new ObjectInputStream(request.getInputStream()); User user = (User) objectStream.readObject(); objectStream .close(); 

Côté client

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