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 de la servlet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
42public 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.........
Partager