Session en Jsp, Java

Fermé
BigFlo - 27 mars 2004 à 17:45
 Marie - 4 sept. 2010 à 18:58
Salut a tous,

Voila, je developpe un site marchant en JSP. ET j'ai un probleme avec les sessions. Enfin, je ne comprends pas, plutot.

Mon pb est que lorsque je mets des produits dans mon panier, ca marche. Mais si en meme temps j'ouvre une nouvelle fenetre de mon browser et que je vais sur mon site ba mon panier n'est pas vide. Il contient en effet les produits mis a partir de la premiere page.

Comment faire pour que si j'ouvre une nouvelle fenetre, mon panier soit vide ?
En gros, comment gerer des sessions afin de distinguer les differents clients...?

Merci de votre aide.
A voir également:

7 réponses

Bonjour,

je ne suis pas un spécialiste mais je travail aussi en ce moment sur des JSP. Il me semble que quand tu crée une session avec un navigateur, le serveur stocke des informations d'identification sous la forme de cookie de session. Quand tu ouvres une nouvelle instance de ton navigateur, il partage l'intégralité de ses cookies avec la première instance. Ce qui implique que le serveur ne fait pas la différence entre tes deux navigateurs.

Pour vérifier ce que je dis, teste avec deux navigateurs différents (avec ie et firefox par exemple). Normalement, ton panier devrait être vide quand tu ouvres le 2nd navigateur (car les deux navigateurs ne partagent pas leur cookies).

Par contre, je ne sais pas comment ouvrir deux sessions avec le même navigateur.

J'espère que cette petite explication te sera utile.
1
salut Gwendal, je voulais savoir, est-ce possible, sous java, de gérer une session sans JSP, car je travaille sur la création d'un site Web, et j'ai besoin de récupérer la valeur du login, et continuer à travailler dessus dans les fenêtres suivantes de l'application, merci d'avance, et si vous avez la moindre proposition n'hésitez pas
0
je veux comprendre qoui une session et comment je peux l'utiliser dans une servlet ou jsp?
1
mahermaher Messages postés 1 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 avril 2008
9 avril 2008 à 00:38
chaque utilisateur que entre dans l'application ,le systeme le cree unne session ,autremant un emplacement de travalle
0
Pour repondre à ta préoccupation, tout ceke je peu te dire c'est ke le navigateur conserve ta session sur toute les pages que tu va ouvrir, donc ouvrir une nouvelle fenetre ne change rien. ce que tu devrai faire c'est utiliser 2 anavigateurs.
1
C'est vrai ce qui a été dit auparavant, si tu utilises deux navigateurs distincts (comme IE et Firefox), tu obtiens 2 sessions différentes.
Mais tu peux aller trifouiller dans les paramétrages de Firefox, il est possible de le paramétrer tel qu'il donner a une nouvelle id de session à chaque page que tu ouvres
0
computer.flash
5 août 2010 à 10:27
Il a raison "blaze" quand tu ouvre un new nav. ou même quand tu termine completement le proc. de ton nav. ta session est dite morte ^^. On te redonne une nouvelle. Tu peux mtn geré tes session à ta dose, je te suggère cette page qui t'explique très bien comment les utiliser: https://www.commentcamarche.net/contents/1050-servlets-gestion-des-sessions
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
29 mars 2007 à 18:02
Salut!

A mon avis, c'est parcque le bean que tu utilises pour stocker les items qui se trouvent dans ton panier ont comme scope "application".

Essaye en plaçant leur scope à "session". De cette manière, il ne seront pas visible depuis l'application, mais seulement depuis la session en cours. En clair, ça signifie qu'une insatnce du bean existera pour chaque session plutôt qu'une seule instance pour toute l'application.

;-)
0
Ok mais, comment changer le scope du bean ?
0
kttaf > AMC
24 juin 2007 à 03:19
pour changer le scope c simple a la place de scope="application" met scope="session"
0
Salut HAckTrack, au fait je te dérange parsk voilà, je travaille sur une application Web en Java sous netbeans, et je n'utilises que des servlets, j'ai trouvé le moyen de traduire le bean sous JSP en servlet, qui est:

pour la création:
public class Caddie extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Recupere la session
HttpSession session = request.getSession(true);
...
// Ecrit la reponse
...
}
}

et pour la destruction:
public class Caddie extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Recupere la session
HttpSession session = request.getSession(true);
session.invalidate();

}
}


mais le problème c ke après avoir détruit ma session, quand l'utilisateur clic sur le bouton page précédente du navigateur, il arrive à accéder à la page précédente de sa session comme s'il n'avait pa été déconnecté, et je sais plus comment faire, est-ce que tu peux m'aider? je te remercie d'avance, bonne continuation, bye
0
salut tout le monde, je voulais savoir, est-ce possible, sous java, de gérer une session sans JSP, car je travaille sur la création d'un site Web, et j'ai besoin de récupérer la valeur du login, et continuer à travailler dessus dans les fenêtres suivantes de l'application,
merci d'avance, et si vous avez la moindre proposition n'hésitez pas
0
salut, oui j'ai le même problème que Lucie20, merci
0