Bonjour,
Je me tourne un peu désespéré vers le forum, après une après midi passé bloqué sur ce problème (j'ai fait les forums, google etc. mais je ne trouve pas de solution, peut être par manque de maitrise?)
Voila je fait un application web dynamique en J2EE.j'ai pour cela un bean panier que je veux sérialiser (après modification) et désérialiser pour mettre à jour des blocs de ma pages jsp Accueil. J'ai donc implémenté sérializable et 2 méthodes pour sauvegarder et récuperer mon bean. Je souhaite stock panierDuJour.ser dans un dossier beanSerialize, à la racine de mon application. La ou je coince, c'est pour cibler le chemin pour la sauvegarde et la récupération: si je met un chemin en absolu ça marche mais c'est pas le but, sur le chemin en relatif je me casse les dents (aucun fichier ne se sauvegarde ou je veux, et java.ioException à tous les coups).
Quelqu'un pourrait il me filer un coup de main? (je joint des éléments, n'hésitez pas à me demander si vous avez besoin d'autres choses). Merci par avance pour votre aide!
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
42
43
44
45 public static void sauverPanier(Panier panier) { ObjectOutputStream oos = null; try { final FileOutputStream fichier = new FileOutputStream( "beanSerialize\\panierDuJour.ser"); oos = new ObjectOutputStream(fichier); oos.writeObject(panier); oos.flush(); } catch (final java.io.IOException e) { } finally { try { if (oos != null) { oos.flush(); oos.close(); } } catch (final IOException ex) { ex.printStackTrace(); } } } public static Panier recupererPanier() { Panier panierDuJour=null; ObjectInputStream ois = null; try { final FileInputStream fichier = new FileInputStream("beanSerialize\\panierDuJour.ser"); ois = new ObjectInputStream(fichier); panierDuJour = (Panier) ois.readObject(); } catch (final java.io.IOException e) { e.printStackTrace(); } catch (final ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (ois != null) { ois.close(); } } catch (final IOException ex) { ex.printStackTrace(); } } return panierDuJour;
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 /* Constantes */ public static final String ATT_CLIENT = "client"; public static final String ATT_FORM = "form"; public static final String ATT_PANIER = "panier"; public static final String ATT_SESSION_USER = "sessionUtilisateur"; public static final String VUE = "/WEB-INF/accueil.jsp"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Panier p=new Panier("test", 2); Panier.sauverPanier(p); Panier panier=Panier.recupererPanier(); request.setAttribute(ATT_PANIER, panier); /* Transmission à la page JSP en charge de l'affichage des données */ this.getServletContext().getRequestDispatcher(VUE) .forward(request, response); }
Partager