Non-persistance d'une session sauf après avoir changer les options IE - Java - Programmation
Marsh Posté le 03-06-2005 à 15:45:30
C'est normal, ca viens du fait que les sessions utilisent les cookies, pour ne pas avoir ce problème tu dois encoder tes liens avec la méthode EncodeURL().
Marsh Posté le 07-06-2005 à 10:52:07
Merci pour ta réponse rapide.
Je l'ai mise en oeuvre mais mon problème demeure. Car sur la page atteinte par "l'URL encodée", il y a une fonction javascript (reload()) qui rappelle la même page après avoir récupéré les paramètres choisis dans une combo box (fonction onchange=reload()).
Le code de reload() ressemble à ça :
var equipement1=document.forms[0].elements["equipement1"].value ;
document.location.href="liaisonsHBGT.jsp?equipement1="+equipement1;
Il est clair qu'au chargement de la page d'après la fonction reload(), l'encoding de l'URL ne se fait plus d'où, nouvelle erreur.
Quelqu'un a t-il une idée?
Merci par avance
Marsh Posté le 07-06-2005 à 10:57:47
Ben en fait, quand on change les options IE comme mentionné dans le 1er post de la question, ça marche. C'est vrai qu'avec Firefox, le problème ne s'est pas posé. Mais comme mes utilisateurs sont sur IE...
Marsh Posté le 07-06-2005 à 11:51:10
Ce qui serait bien c'est qu'il existe un équivalent de
document.location.href=<%"response.encodeURL("%> liaisonsHBGT.jsp?equipement1="+equipement1 <%" )"%>;
}
c'est à dire pouvoir mettre l'encodeUrl dans mon javascript Ce qui est mis ci-dessus ne peut évidemment pas marcher...
Marsh Posté le 07-06-2005 à 12:11:21
BBG a écrit : c'est à dire? |
C'est quoi que tu comprends pas?
Marsh Posté le 03-06-2005 à 15:43:43
Bonjour,
Mes collègues et moi avons observé un phénomène assez curieux.
Je programme en java, j'enregistre des droits en session
session.setAttribute("sphinxUser",sphinxUser);
et je les récupère sur une autre page jsp,( appelée immédiatement après en plus!):
SphinxUser sphinxUser=(SphinxUser) session.getAttribute("sphinxUser" );
De temps à autre, l'objet récupéré est nul. D'où j'ai eu la bonne idée d'imprimer les sessions :
System.out.println("session " +session); et je constate qu'elles sont différentes ==> Je ne peux donc pas accéder à la suite des pages.
Par contre, si je vais sous Internet Explorer6.0 /Outils/Options Internet/Confidentialité/Avancé et que je coche les deux checkboxes ("Toujours autorisé les cookies de la session" ), tout va bien.
On comprend bien que faire cette opération de configuration de IE sur chaque poste utilisateur est impensable.
Quelqu'un a t-il déjà rencontré ce genre de problème?
Merci par avance pour votre aide