Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1720 connectés 

  FORUM HardWare.fr
  Programmation

  [java/jsp] Création de cookies

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java/jsp] Création de cookies

n°14199
beboutou
Posté le 13-02-2001 à 22:46:33  profilanswer
 

Salut,
 
J ai un gros problème, je n'arrive pas à créer un cookie sur la machine cliente.
Pourtant j'initialise l'objet cookie pui addCookie, mais ca ne fait rien du tout
 
help

mood
Publicité
Posté le 13-02-2001 à 22:46:33  profilanswer
 

n°14209
MagicBuzz
Posté le 14-02-2001 à 00:14:14  profilanswer
 

Sur mon site, j'ai fait ces fonctions qui marchent très bien.
 
Euh... koique sous NS, j'ai pas testé, mais je crois que ça marche quand même :D
 
function getCookieVal(offset) {
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1) endstr = document.cookie.length;
   return unescape (document.cookie.substring(offset, endstr));
}
 
function GetCookie(name) {
   var arg = name+"=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while (i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg) return getCookieVal(j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
   }
   return null;
}
 
function PutCookie(name, value, expireDelay)
{
 // Name : Cookie name
 // Value : Cookie Value
 // expireDealy : cookie life duration in days
 
 var expireDate = new Date();
 expireDate.setDate(expireDelay+expireDate.getDate());
 document.cookie = name+"="+value+"; expires="+expireDate.toGMTString();
}
 
function TestCookie()
{
 var valueTest = parseInt(Math.random() * 99999);
 PutCookie("TestCookie",valueTest,1) // We put a cookie with a life duration of 1 day (just for test)
 CookieRead = parseInt(GetCookie("TestCookie" ));
 if (CookieRead == valueTest)
  return true;
 else
  return false;
}

n°14213
beboutou
Posté le 14-02-2001 à 00:36:40  profilanswer
 

cool ton truc, mais je sais effectivement faire ca en javascript, mais moi je voudrais le faire dans mes servlets ou dans mes pages jsp
 
...

n°14215
rodocop
Posté le 14-02-2001 à 00:43:14  profilanswer
 

He, magicbuzz, c'est du java qu'il demande.
 
beboutou: c'est pour un servlet ou un JSP?
Si c'est pour un servlet, tu peux faire
 
Cookie c = new Cookie("name", "value" );
response.addCookie(c);
 
dans doGet ou/et doPost (ou meme dans service si tu veux)
(ce sont des methodes de HttpServlet of course)
 
Si c'est pour un JSP, tu peux aussi essayer
 
<%
Cookie c = new Cookie("name", "value" );
response.addCookie(c);
%>
 
mais je sais pas si ca peux marcher vu que les cookies font partie du header de la response, j'ai jamais essaye
ca doit dependre de l'implementation des JSP par ton serveur

n°14216
beboutou
Posté le 14-02-2001 à 01:18:16  profilanswer
 

je sais pas trop si ce que tu dis fonctionne car j avais essayé ca, mais g toujours rien dans mon repertoire cookies du client.  
bien que je puisse voir la valeur de mon cookie lorsque je fait un getCookie (sauf qu il me semble qu il depende de la session car si je kill la fenetre et que je redemande sa valeur g plus rien...)

n°14397
beboutou
Posté le 14-02-2001 à 20:09:01  profilanswer
 

up

n°14425
rodocop
Posté le 15-02-2001 à 00:39:47  profilanswer
 

Montre un peu ton code

n°14568
beboutou
Posté le 15-02-2001 à 19:24:28  profilanswer
 

j utilise exactement le truc en jsp que tu as mis :
Cookie dd=new Cookie(name,value);
response.addCookie(dd);
 
mais rien n y fait g un cookie quiressemble diablement a une session : rine dans le rep cookies, je peux lire sa valeur tant que je kill pas ma fenetre IE

n°14592
rodocop
Posté le 16-02-2001 à 00:16:40  profilanswer
 

Si tu relis mon post, j'avais dis que cela ne marcherait peut-etre pas avec des JSP.
Je m'explique:
- les cookies se trouve dans le header de la reponse http;
- les donnees contenue dans le header doivent imperativement etre ecrite dans la reponse avant de commencer la reponse en elle-meme (le content), c-a-d avant le response.getWriter()
 
On doit donc avoir qq comme :
 
response.addCookie(new Cookie("name", "value" ));
response.setContentType("text/html" );
PrintWriter out = response.getWriter();
out.println("..." );
 
Avec un JSP, tout depend de l'implementation du webserver.
 
Oups, j'ai une idee: essaie un peu de faire qq comme cela au debut de ton JSP:
 
<% response.addCookie(new Cookie("name", "value" )); %>
<% @page contentType="text/html" %>
 
(Les directives pages doivent etre au debut du fichier parce qu'elles font parties du header de la reponse.)

n°14872
beboutou
Posté le 18-02-2001 à 23:24:52  profilanswer
 

mortel, ca marche. effectivement en utilisant un getWriter ca tourne.
 
merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [java/jsp] Création de cookies

 

Sujets relatifs
prog java et frame => au secour !!!![JAVA ou JAVASCRIPT] Où trouver un moteur de recherche pour site ?
[Java] Librairie Cparser XML en JAVA
Java Scriptun demineur en java ??
JAVA: JVM et SourceC est koi le Java ?
Programme compile mais marche pas ! [JAVA][C] Création d'une fenêtre windows
Plus de sujets relatifs à : [java/jsp] Création de cookies


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR