Bonjour,

J'ai fait une application web j2ee avec le serveur tomcat 5.5.
J'utilise dans ma servlet une httpsession. Le seul attribut qu'elle contient est l'attribut session qui est une classe contenant un user, un nom de projet et une connexion.
Voilà le code de ma servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
HttpSession ses = req.getSession();
 
// La session mais on vient de se connecter => création de la session
if((ses.getAttribute("session")==null)&&(req.getParameter("Seconnecter")!=null)){
	session =new Session();
} 
// La session n'est pas vide => on récupère l'attribut
else{
	session =(Session)ses.getAttribute("session");
}
et en bas de ma servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
try{
	ServletContext servletContext = getServletContext();
	if(!deconnecte){
		ses.setAttribute("session",session);
	}
	RequestDispatcher dispatcher = servletContext.getRequestDispatcher("/"+page);
	dispatcher.forward(req, res);
}
catch(Exception e){
	e.printStackTrace();
}
J'ai remarqué que lorsqu'il y a plusieurs utilisateurs connectés, parfois un utilisateur X va récupérer le session de Y. Mais cela n'arrive pas forcément à la connexion de chacun, c'est en plein milieu de différentes actions sur l'application web.

J'aimerais savoir comment l'httpsession gère les différentes sessions et savoir comment corriger ce problème (peut être une simple erreur de code).
Merci d'avance