Posez votre question Signaler

Session en Jsp, Java

BigFlo - Dernière réponse le 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.
Lire la suite 

Session en Jsp, Java »

13 réponses
Réponse
+1
moins plus
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.
Lucie20 - 3 sept. 2010 à 01:43
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
Ajouter un commentaire
Réponse
+1
moins plus
je veux comprendre qoui une session et comment je peux l'utiliser dans une servlet ou jsp?
mahermaher - 9 avril 2008 à 00:38
chaque utilisateur que entre dans l'application ,le systeme le cree unne session ,autremant un emplacement de travalle
Ajouter un commentaire
Réponse
+1
moins plus
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.
blaze - 3 mars 2010 à 15:44
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
Ajouter un commentaire
Réponse
+1
moins plus
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: http://www.commentcamarche.net/contents/servlets/servsession.php3
Ajouter un commentaire
Réponse
+0
moins plus
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.

;-)
AMC - 20 avril 2007 à 07:59
Ok mais, comment changer le scope du bean ?
kttaf - 24 juin 2007 à 03:19
pour changer le scope c simple a la place de scope="application" met scope="session"
Marie - 4 sept. 2010 à 18:58
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
salut, oui j'ai le même problème que Lucie20, merci
Ajouter un commentaire
Ce document intitulé « Session en Jsp, Java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?