Bonsoir,
j'ai un petit problème avec la sérialisation. Savez-vous à quoi peut être du ce problème ?
voici un bout de la stack
En fait, mon applet crée un fichier, et je voudrais ensuite le renvoyer vers une servlet qui s'occuperait de le copier dans un répertoire adéquat sur le disque de mon serveur.java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2502)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at depouilleuroli.ServletLisFichier.doPost(ServletLisFichier.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Voici le code qui envoie le fichier depuis l'applet vers la servlet:
et ici le code de la servlet qui doit récupérer le fichier
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 private boolean serializeToServlet(File xml) { boolean pass = false; try { URL url = new URL(getDocumentBase(), "ServletLisFichier"); URLConnection connexion = url.openConnection(); connexion.setDoOutput(true); ObjectOutputStream oos = new ObjectOutputStream(connexion.getOutputStream()); oos.writeObject(xml); BufferedReader br = new BufferedReader(new InputStreamReader(connexion.getInputStream())); String answer = br.readLine(); pass = "OK".equals(answer); } catch (Exception e) { pass = false; e.printStackTrace(); } return pass; }
le problème ne vient apparament pas de ma config Tomcat ou quoi que ce soit d'autre. Il semble vraiment que cela soit lié à la sérialisation
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 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { ObjectInputStream ois = new ObjectInputStream(request.getInputStream()); Object o = null; try { o = ois.readObject(); // <<---- EOFException ici } catch (ClassNotFoundException e) { e.printStackTrace(); } PrintWriter pw = new PrintWriter(response.getOutputStream()); pw.println("OK"); pw.close(); ois.close(); // ... }
est-ce que quelqu'un sait ce qui se passe et pourrait me l'expliquer ?
Partager