2015-03-27 2 views
0

J'ai le problème suivant: J'ai quelques pages JSP. Quand je suis sur la page principale, j'ai la possibilité d'ajouter un cookie. Dans la page CookieAdd j'ajoute un Cookie et me redirige avec jsp: forward vers la page principale. Ensuite, le cookie ajouté devrait apparaître, mais il n'apparaît pas immédiatement. Je dois recharger la page pour voir le cookie nouvellement ajouté. Comment puis-je le voir immédiatement? Merci, Tom.JSP n'affiche pas le cookie immédiatement après l'envoi

<% Cookie c = new Cookie(request.getParameter("name"), ""); c.setMaxAge(0); response.addCookie(c); %> <html> <body>

`<jsp:forward page="Cookiemanager.jsp" />` 

</body> </html>

+0

Votre titre dit "forwrding". Votre description dit "rediriger". Lequel est-ce? Où est le code? –

+0

Désolé, j'ai foiré un peu. Je vais simplifier le code et le télécharger maintenant – ToTom

+0

<% \t Cookie c = new Cookie(request.getParameter("name"), ""); \t c.setMaxAge(0); \t response.addCookie(c); %> \t Ceci est maintenant la page deleteCookie, mais il y a exactement le même problème. Après avoir supprimé un cookie, je dois rafraîchir cookiemanager.jsp pour ne plus voir le cookie. – ToTom

Répondre

0

Vous n'êtes pas rediriger vers la page principale. Vous transférez vers la page principale. Le transfert se fait complètement au niveau du serveur. Aucune nouvelle requête n'est reçue par le serveur: la même requête originale est simplement gérée par une autre JSP. Donc le cookie, qui n'était pas là dans la requête d'origine, n'est toujours pas là quand cette même requête est traitée par la deuxième JSP.

Une redirection est complètement différente. Rediriger consiste à demander au navigateur d'aller vers une autre URL. Si vous l'avez fait, le navigateur reçoit le cookie dans le cadre de la réponse de redirection et envoie une nouvelle requête, contenant le cookie, au nouveau JSP.

Notez que le code que vous avez publié ne doit pas figurer dans une page JSP. Une JSP est un composant de vue. Son but n'est pas de mettre en place un cookie ou de rediriger/rediriger. Son objectif est de générer du HTML. Un tel code devrait être dans une servlet écrite en Java.

+0

Merci beaucoup! Tu l'as réparé! A propos de l'utilisation d'une servlet: cela fait partie d'un exercice à l'école, nous devons utiliser JSP ... Merci encore. – ToTom