Retrouver le chemin d'un cookie...

Résolu
rstefr Messages postés 14 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 20 décembre 2006 - 8 déc. 2006 à 11:32
rstefr Messages postés 14 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 20 décembre 2006 - 13 déc. 2006 à 16:14
Slt vous tous !

Voilà un petit problème que je rencontre actuellement...
Je crée un cookie avec :
Cookie cCookie = new Cookie (sName,sValue);
Ok, pas de problème à priori. Le truc, c'est que je ne sais pas où JBuilder stock ce cookie.
getPath() me retourne "null" et je ne comprend pas l'utilisation de setPath(String uri). Que'est-ce que "uri" ??
Je veux en fait stocker ce cookie avec les autres, c'est-à-dire ceux créés par InternetExplorer ou Mozilla, pour retrouver mes variables au prochain démarrage de mon applet.

Merci à vous.

rstefr

5 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
11 déc. 2006 à 18:01
ben normalement ta servlet te fourni deux méthodes a implémenter :
doPost et doGet (qui correspondent aux deux facon de submiter un formulaire)

dans les parametres de ces méthodes "on" te donne la HttpServletResponse et la HttpServletRequest (que j ai nommé comme variable res et req)

++ Toinou
3
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
8 déc. 2006 à 11:49
Yopla,


pour stocker ton cookie, dans ton HttpServletResponse tu fais
res.addCookie(cCookie);

et pour récup les cookies t as plus qu a faire apres sur ta HttpServletRequest:
req.getCookies();

et tu retrouve le cookie que t avais mis avant.

++ Toinou
0
cs_physio Messages postés 26 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 3 février 2007 2
10 déc. 2006 à 17:50
Cookie cCookie = new Cookie (sName,sValue);  <== ne fait que creer un objet Cookies mais pas de le creer sur la machine du visiteur.
pour faire en sorte que le cookie soit plassé chez l'utilisateur , il faut que tu utilises l'objet HttpServletResponse :

response.addCookie(c);  <== creera le cookies physiquement sur la machine (l'endroit de la localisation depend du navigateur utilisé)

Pour recuperer un cookies :
En fait il n'est pas possible de trouver directement un cookie sur une machine
Tu peux avoir acces a l'ensemble des cookies qui ont etait crée par ton application mais c'est a toi a chercher parmis ceux ci celui dont tu désires connaitre la valeur .
tu utilises pour cela l'objet HttpServletRequest :
exemple : tu désires consulter la valeur du  cookies qui possede la clée "Pays"
(pour rappel un cookie ne possede qu'une seule paire clee/valeur

     Cookie[] mesCookies= request.getCookies(); //recup des cookies crée par ton application
             for (Cookie cookie : mesCookies) {
               
                 if (cookie.getName().equals("Pays")){ //si le nom du cookie est Pays
                     
                     
                     System.out.println(cookie.getValue()); // affiche de sa valeur
                     
                 }
            }

Voila

Bonne chance

PH¥§íØ
0
rstefr Messages postés 14 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 20 décembre 2006
11 déc. 2006 à 17:34
Super pour vos réponses, merci, je comprends bien mieux !
Par contre, j'ai encore une zone d'ombre sur l'utilisation concréte de request (ou req pour super_toinou) et de response (ou res) (impossible de trouver le symbole !). J'ai aussi compris que c'était des classes abstraites que l'on ne peut instencier (HttpServletResponse et HttpServletRequest).
Je suis donc en train de voir tout ça pour résoudre mon PB avant d'accepter les réponses...
Merci encore.
rstefr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rstefr Messages postés 14 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 20 décembre 2006
13 déc. 2006 à 16:14
Super merci, j'ai trouvé un exemple qui utilisait doGet.
Je devrais maintenant y arriver !
voici l'exemple, fourni en fait avec le jsdk1.0 je crois...

import java.io.*;
//import java.servlet.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CookieExemple extends HttpServlet {
   
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        // print out cookies
        Cookie[] cookies = request.getCookies();
        for (int i = 0; i < cookies.length; i++) {
            Cookie c = cookies[i];
            String name = c.getName();
            String value = c.getValue();
            out.println(name + " = " + value);
        }
       
        // set a cookie
        String name = request.getParameter("cookieName");
        if (name != null && name.length() > 0) {
            String value = request.getParameter("cookieValue");
            Cookie c = new Cookie(name, value);
            response.addCookie(c);
        }
    }
}
0
Rejoignez-nous