IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Ajout cookie à la réponse


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut Ajout cookie à la réponse
    Bonjour,
    Je voudrais accéder à une page qui a besoin d'un cookie, voici le code que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Ajout du cookie
    Cookie cookie = new Cookie(nom, valeur);
    reponse.addCookie(cookie);
     
    RequestDispatcher rs = requete.getRequestDispatcher(url);
    rs.forward(requete, reponse);
    Il s'agit en fait d'un cookie de session ASP indispensable à l'affichage de la page. Ma page ne s'affiche pas, comme quoi il lui manque le cookie.

    J'ai testé avec HttpUnit pour voir si c'était le cookie envoyé qui n'était pas bon. Mais non HtppUnit fonctionne bien et j'ai bien la page que je devrais avoir.

    Quelqu'un a-t-il une idée ? J'ai fait pas mal de recherche sur le net mais je n'ai rien trouvé qui puisse résoudre mon problème.

  2. #2
    Membre confirmé Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Par défaut ton Cookie est en mode ShutDown car son ageMax par defaut est a -1.

    Pour l'activer pour un certain durée tu dois modifier la variable MaxAge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cookie cookieDejaVenu = new Cookie(nom, value);
    cookieDejaVenu.setMaxAge(60 * 60 * 24 * 365);  // Actif pendant 1 an
    response.addCookie(cookieDejaVenu);

  3. #3
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Merci pour la réponse mais ça ne fonctionne pas mieux ...

  4. #4
    Membre confirmé Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Ton navigateur accepte les Cookies ?

    Pour Firefox:

    Outils -> Options -> Vie Privée -> Accepter les Cookies

  5. #5
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Mon navigateur accepte bien les cookies ...
    Je ne sais plus où chercher !

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par couetbis Voir le message
    Je voudrais accéder à une page qui a besoin d'un cookie
    Que veux-tu dire par là exactement ? De plus tu parles d'ASP : Il s'agirait donc d'une page sur un autre serveur ? Et tu y accèdes avec un forward ?

    a++

  7. #7
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    En effet ça peut paraitre compliqué comme ça. J'ai deux applications, mon appli java est sur Tomcat, mon appli ASP est sur IIS.
    Depuis l'appli Java je veux accéder à une page ASP. Cette page à besoin du cookie en question certifiant l'authentification. J'ai pu récupérer ce cookie lorsque l'utilisateur s'est authentifié. Je pense avoir tous les éléments nécessaires mais je n'arrive pas à les assembler. Surtout qu'avec httpUnit ça fonctionne !

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Ce que je ne comprend pas c'est comment tu peux arriver à la page sur un autre serveur avec un forward, alors que cela ne fait qu'une "redirection" sur le même serveur.

    De plus la réponse tu la renvoi au navigateur du client donc c'est le client qui va recevoir le cookie et l'associer à ton domaine. Si le second serveur est sur un autre domaine il ne pourra pas lire le cookie de toute manière...


    a++

  9. #9
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Je ne vois pourquoi une redirection ne peux pas marcher si on a l'url complète (url du type http://monserveur:port/Application/page.asp).

  10. #10
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Un forward est une redirection coté serveur, et doit donc s'appliquer seulement sur une page du serveur.

    En oubliant l'histoire du cookie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RequestDispatcher rs = requete.getRequestDispatcher(url);
    rs.forward(requete, reponse);
    ce code fonctionne avec une URL chez toi ???

    a++

  11. #11
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Oui cela fonctionne car j'arrive bien accéder à une page qui ne nécessite pas d'authentification de l'application qui est sur IIS.

  12. #12
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Bizarre

    Par curiosité tu utilises quoi comme serveur J2EE ?


    a++

  13. #13
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    J'utilise Tomcat.
    J'affiche bien le contenu de la page ASP qui n'a pas d'authentification mais l'url est plutôt bizarre. Alors je vais creuser de mon côté, je n'ai pas envie de te faire perdre ton temps. Je reviendrais à la charge quand j'aurais un peu plus de concret.
    Je peux déjà te dire merci pour l'intérêt que tu as porté sur mon problème.

  14. #14
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    J'ai un peu avancé, finalement je ne faisais les choses comme il faut, je n'ajoutais pas le cookie au bon moment. Il faut que j'ajoute un cookie à partir d'un HttpClient. Est-ce que qqn a un bout de code à me donner ?

    Voilà ce que je teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Cookie mycookie = new Cookie("localhost", nom, valeur, "/", -1, false);
     
    //Create a new HttpState container
    HttpState initialState = new HttpState();
    initialState.addCookie(mycookie);
     
    //set the HttpState for the client (HttpClient)
    client.setState(initialState);
    Mais ceci plante dès la première ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.IllegalArgumentException: Cookie name may not be null

  15. #15
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Vérifies toujours les valeurs des variables nom/valeur...


    Et attention ici ce n'est plus la même chose car avec HttClient c'est le serveur tomcat qui se connecte sur la page et non plus le navigateur client.

    a++

  16. #16
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Quelle type de valeur doit-il y avoir ? Je ne passe aucune valeur nulle ...
    J'envoie ce qui m'est retourné à l'authentification, ce qui correspond également à ce que je peux voir lorsque j'affiche les cookies dans mon navigateur.
    Peut être que le domaine n'est pas correct ? Je passe pour le moment "localhost" car pour l'instant tout se trouve en local.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [URLLIB2] Extraire le cookie d'une réponse
    Par xxkirastarothxx dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 12/05/2009, 12h47
  2. Ajouter "messages sans réponse"
    Par afrodje dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 15/03/2008, 14h05
  3. Ajouter un cookie
    Par Gregory.M dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 19/11/2007, 14h22
  4. Réponses: 5
    Dernier message: 19/04/2007, 11h03
  5. [Cookies] Ajouter une donnée à un cookie
    Par jack1234 dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2006, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo