Gérer les cookie avec une servlet [résolu]

Gérer les cookie avec une servlet [résolu] - Java - Programmation

Marsh Posté le 09-02-2005 à 13:38:17    

Je n'y arrive décidement pas..
Je trouve bien qqs sources sur internet, mais aucune ne compile !!!
 
Par exemple :

Code :
  1. import java.io.*;
  2. import java.sql.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5. import java.lang.*;
  6. import javax.swing.*;
  7. import java.util.*;
  8. import java.net.*;
  9. public class Cookie extends HttpServlet {
  10. public void doGet (HttpServletRequest request, HttpServletResponse response)
  11.  throws ServletException, IOException    {     
  12.        
  13.             //  
  14.             Cookie[] cookies = request.getCookies();
  15.             for(i=0; i < cookies.length; i++) {
  16.                 Cookie MonCookie = cookies[i];
  17.                 if (MonCookie.getName().equals("LeCookieQueJeCherche" )) {
  18.   String Valeur = cookies[i].getValue();
  19.  }
  20.      }
  21.        
  22. // ecriture de la reponse
  23.         response.setContentType("text/html" );
  24.         PrintWriter out = response.getWriter();       
  25.         out.println("<html><head>" );
  26. out.println("<title>Mon Cookie</title>" );
  27. out.println("</head><body>" );
  28. out.println("Voici la valeur de mon cookie : " + Valeur);
  29.         out.println("</body></html>" );
  30. }
  31. }


 
Me donne comme erreurs :

--------------------Configuration: j2sdk1.4.2_01 <Default>--------------------
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:22: incompatible types
found   : javax.servlet.http.Cookie[]
required: Cookie[]
            Cookie[] cookies = request.getCookies();
                                                 ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:24: cannot resolve symbol
symbol  : variable i  
location: class Cookie
            for(i=0; i < cookies.length; i++) {
                ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:24: cannot resolve symbol
symbol  : variable i  
location: class Cookie
            for(i=0; i < cookies.length; i++) {
                     ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:24: cannot resolve symbol
symbol  : variable i  
location: class Cookie
            for(i=0; i < cookies.length; i++) {
                                         ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:26: cannot resolve symbol
symbol  : variable i  
location: class Cookie
                Cookie MonCookie = cookies[i];
                                           ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:28: cannot resolve symbol
symbol  : method getName ()
location: class Cookie
                if (MonCookie.getName().equals("LeCookieQueJeCherche" )) {
                             ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:30: cannot resolve symbol
symbol  : variable i  
location: class Cookie
   String Valeur = cookies[i].getValue();
                                                ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:30: cannot resolve symbol
symbol  : method getValue ()
location: class Cookie
   String Valeur = cookies[i].getValue();
                                               ^
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\Cookie.java:50: cannot resolve symbol
symbol  : variable Valeur  
location: class Cookie
 out.println("Voici la valeur de mon cookie : " + Valeur);
                                                         ^
9 errors
 
Process completed.
 


 
 
Si vous pouvez m'éclaircir ma lanterne !!! Merci !
 :hello:


Message édité par dcvlm le 09-02-2005 à 19:11:12

---------------
ZZZZzzzzz
Reply

Marsh Posté le 09-02-2005 à 13:38:17   

Reply

Marsh Posté le 09-02-2005 à 14:17:44    

tu comprends pas les messages du compilateur ?
 
indice pour le 1er : c'est pas une bonne idée d'appeler ta servlet "Cookie"


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-02-2005 à 14:36:41    

Oui, en effet, je ne comprends pas les messages du compilateur... (je débarque fraichement en java....depuis le début de la semaine en fait... à la base je suis plutot C/C++...)
 
Donc, g corrigé le prb de nommage, effectivement, c t pas une bonne idée..
 
Voici donc un truc plus "propore" :

Code :
  1. import java.io.*;
  2. import java.sql.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5. import java.lang.*;
  6. import javax.swing.*;
  7. import java.util.*;
  8. import java.net.*;
  9. public class testCookie extends HttpServlet {
  10. public void doGet (HttpServletRequest request, HttpServletResponse response)
  11.  throws ServletException, IOException    {     
  12.             Cookie[] cookies = request.getCookies();
  13.   int i;
  14.             for(i=0; i < cookies.length; i++) {
  15.                 Cookie MonCookie = cookies[i];
  16.                 if (MonCookie.getName().equals("LeCookieQueJeCherche" )) {
  17.    String Valeur = cookies[i].getValue();
  18.    }
  19.   }
  20.         response.setContentType("text/html" );
  21.         PrintWriter out = response.getWriter();       
  22.         out.println("<html><head>" );
  23.  out.println("<title>Mon Cookie</title>" );
  24.  out.println("</head><body>" );
  25.  out.println("Voici la valeur de mon cookie : " + Valeur);
  26.         out.println("</body></html>" );
  27. }
  28. }


 
Et je n'ai plus qu'une erreur..Mais elle en cache p-e d'autres qui seront découvertes apres débugage de celle ci !
 

--------------------Configuration: j2sdk1.4.2_01 <Default>--------------------
D:\tomcat\jakarta-tomcat-5.0.25\webapps\vlm\WEB-INF\classes\testCookie.java:51: cannot resolve symbol
symbol  : variable Valeur  
location: class testCookie
 out.println("Voici la valeur de mon cookie : " + Valeur);
                                                         ^
1 error
 
Process completed.
 


 
 
Merci !


Message édité par dcvlm le 09-02-2005 à 15:38:51

---------------
ZZZZzzzzz
Reply

Marsh Posté le 09-02-2005 à 14:52:09    

ca parait pourtant évident : il ne connait pas "Valeur".
=> question : Est ce que la variable "Valeur" est accessible à cet endroit
=> réponse non
 
c'est pareil qu'en C++ [:skeye]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-02-2005 à 15:16:21    

Allons bon... mes souvenirs de C me feraient-ils défaut ???
 
Bah je ne vois pas pourquoi c'est pas accesible à cet endroit (qui ne m'apparait pas trop différent de là où je créé la variable Valeur..)
 
Je suis donc toute ouïe dehors pour découvrir ta proposition "corrigée"...


Message édité par dcvlm le 09-02-2005 à 15:41:01

---------------
ZZZZzzzzz
Reply

Marsh Posté le 09-02-2005 à 15:42:53    

bha il est déclarée à l'intérieur de la boucle for => pas accessible à l'exterieur ... comme en c++ ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-02-2005 à 15:56:25    

pfff... pauvre de moi !!!
 
Merci en tout cas !


---------------
ZZZZzzzzz
Reply

Marsh Posté le 09-02-2005 à 16:03:33    

pas de problème.
 
Un conseil : fait bien confiance au compilo Java. Ces messages sont souvent très clairs, et la solution quasi-évident (contrairement à d'autre langages qui se termines par ++ ;))


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-02-2005 à 16:14:30    

Une majuscule a testCookie ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed