[Servlet] envoyer des données serializé par post
Bonjour,
je souhaite envoyer un objet serializé à une servlet par la méthode doPost, ensuite que la servlet le dé-sérialize, fasse quelques traitements puis sérialize un autre objet pour le renvoyer à la classe qui a appelé la servlet.
J'ai essayé de faire quelque chose mais cela ne marche pas, j'arrive à sérializé l'objet en XML mais je n'arrive pas à le récupérer.
J'envois mon code :
- Code de la méthode qui appelle la servlet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public Vector<IntervenantTO> getIntervenantList(long[] listIdEntity) {
IntervenantListTO instance = new IntervenantListTO();;
try {
String pTypReq = "getListIntervenant"; //$NON-NLS-1$
URL servletUrl= new URL(urlServletBase+"pTypReq="+pTypReq); //$NON-NLS-1$
URLConnection conn = servletUrl.openConnection();
conn.setDoOutput(true);
OutputStream osw = conn.getOutputStream();
final XMLEncoder xenc = new XMLEncoder(osw);
// Write object.
try
{
xenc.writeObject(listIdEntity);
xenc.flush();
xenc.close();
osw.close();
}
catch(Exception theException)
{
System.out.println("EXCEPTION!" + theException); //$NON-NLS-1$
}
finally
{
}
InputStream br = conn.getInputStream();
instance = IntervenantListTO.load(br);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return instance.getIntervenantList();
} |
- Code de la servlet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| long[] listIdEntity;
String pTypeReq = req.getParameter("pTypeReq");
System.out.println("EntityDAServlet.doPost()");
InputStream reqIn = req.getInputStream();
// Create XML decoder.
final XMLDecoder xdec = new XMLDecoder(reqIn);
try {
final Object obj = xdec.readObject();
try
{
listIdEntity = (long[])obj;
reqIn.close();
System.out.println(listIdEntity);
OutputStream respOs = resp.getOutputStream();
// suite du traitement......... |