pb sauvegarde session avec firefox

Le
phil89
Bonjour

J'utilise depuis quelques temps des HttpSession pour sauvegarder des
variables.
Avec IE7 lorsque j'appel plusieurs navigateurs j'ai bien des valeurs
differentes pour chaque navigateur ouvert, par contre avec Firefox3
ceux ci sont gardé meme si lorsque j'ouvre un deuxieme navigateur. je
recupère la premiere valeur ainsi que le getid.
Ceci depuis le meme PC vers le meme tomcat 5.5.26
Je dois etre bourré, ou est mon erreur ?
Merci d'avance Philippe



Code :

import java.io.IOException;
import java.io.PrintWriter;

import java.util.Date;

import javax.servlet.*;
import javax.servlet.http.*;

public class Servlet2 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html;
charset=windows-1252";

public void init(ServletConfig config) throws ServletException {
super.init(config);
}

public void service(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Servlet2</title></head>");
out.println("<body>");
out.println("<p>The servlet has received a POST or GET. This
is the reply.</p>");
/* out.println("<p>"+request.getSession().getAttribute("date")
+"</p>");
Date xx=new Date();
request.getSession().setAttribute("date",xx.toString());
*/

HttpSession session=request.getSession(true);
String aa=(String)session.getAttribute("date");
out.println("<p>"+aa+"</p>");
if(aa==null)
{
Date xx=new Date();
request.getSession().setAttribute("date",xx.toString());
}
out.println("</body></html>");
out.close();
}
}
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mayeul
Le #17409041
phil89 a écrit :
Bonjour

J'utilise depuis quelques temps des HttpSession pour sauvegarder des
variables.
Avec IE7 lorsque j'appel plusieurs navigateurs j'ai bien des valeurs
differentes pour chaque navigateur ouvert, par contre avec Firefox3
ceux ci sont gardé meme si lorsque j'ouvre un deuxieme navigateur. je
recupère la premiere valeur ainsi que le getid.
Ceci depuis le meme PC vers le meme tomcat 5.5.26
Je dois etre bourré, ou est mon erreur ?
Merci d'avance Philippe



Je ne vois pas en quoi il y aurait erreur.

Le fait d'ouvrir une nouvelle fenêtre du même navigateur n'a pas le sens
inné "Je ne veux pas utiliser les sessions en cours que j'ai dans
d'autres fenêtres".

Personnellement je ne comprendrais pas ce qui se passe si mon navigateur
oubliait mes sessions juste parce que j'en ouvre une nouvelle fenêtre.

--
Mayeul
benoit
Le #17414501
On 3 oct, 12:41, Mayeul
phil89 a écrit :

> Bonjour

> J'utilise depuis quelques temps des HttpSession pour sauvegarder des
> variables.
> Avec IE7 lorsque j'appel plusieurs navigateurs j'ai bien des valeurs
> differentes pour chaque navigateur ouvert, par contre avec Firefox3
> ceux ci sont gardé meme si lorsque j'ouvre un deuxieme navigateur. je
> recupère la premiere valeur ainsi que le getid.
> Ceci depuis le meme PC vers le meme tomcat 5.5.26
> Je dois etre bourré, ou est mon erreur ?
> Merci d'avance Philippe

Je ne vois pas en quoi il y aurait erreur.

Le fait d'ouvrir une nouvelle fenêtre du même navigateur n'a pa s le sens
inné "Je ne veux pas utiliser les sessions en cours que j'ai dans
d'autres fenêtres".



Bonjour à tous,

Je n'ai même pas lu le code tellement je partage cet avis.
Avec Firefox fais l'expérience :
1) Tu t'authentifies quelque part sur un site dans un !! nouvel !!
onglet...
2) Tu fermes cet onglet sans faire un logout et en laissant la fenêtre
ouverte.
3) Lances une nouvelle fenêtre en ligne de commande pour être s ûr de
ne pas avoir les options :
-no-remote
Don’t connect to a running iceweasel instance.
-a application-id
Check for a running Iceweasel started with the
specified appli‐
cation-id. When iceweasel is invoked for the first time
with a
particular application-id, a new Iceweasel
application is
started; subsequent invocations of iceweasel with
the same
application-id will cause the already-running Iceweasel
to bring
up a new window.
-P profile
Start with profile. Implies -a firefox--profile, or -a
default
if profile is default.

4) Tu verras que tu as la même instance avec le même id de proce ssus
et la même session (tj authentifié).
Donc si j'ai bien compris ce qu'il se passe, il est logique que ton
code aie le comportement que tu décris.

C'est pour cela que quand tu fais du développement Web en java ou php
ou n'importe quel langage, assures-toi d'utiliser une autre instance
de Firefox pour lire la javadoc ou autre.
Sans cela, fermer la fenêtre sur laquelle tu testes ton appli sans
fermer toutes les autres fenêtres préserve la session.

Voila je ne sais pas si j'ai été clair mais bon il est tard ! ;-)

--
Benoît
phil89
Le #17487651
Ok merci pour vos réponses
Si je souhaite avoir depuis le Meme PC ,plusieurs sessions differentes
pour me connecter sur mon site en Servlet , il y a t il un moyen
hormis avoir mon propre id que j'envoi dans l'url pour les
differecier ?
Ma servlet montre plusieurs pages representant l'etat de machines en
production qui s'auto rafraichissent, et il souhaite avoir differentes
sessions ouverte en meme temps.

Merci d'avance
Philippe
Publicité
Poster une réponse
Anonyme