Sujet : [java][jsp][servlet] Pb de perte d'ID de session entre servlet et jsp
darklord
Deepcore a écrit a écrit :
Ouais mais en fait je suis un Boolay moi :D Crétin que je suis, j'ai pas pensé qu j'avais une page intermediaire qui, elle, ne récrit pas l'URL. Donc forcément, mon ID était perdu en cour de route. Putain je suis strop con...
Ouais mais en fait je suis un Boolay moi :D Crétin que je suis, j'ai pas pensé qu j'avais une page intermediaire qui, elle, ne récrit pas l'URL. Donc forcément, mon ID était perdu en cour de route. Putain je suis strop con...
:sarcastic:
deepcore
Ouais mais en fait je suis un Boolay moi :D Crétin que je suis, j'ai pas pensé qu j'avais une page intermediaire qui, elle, ne récrit pas l'URL. Donc forcément, mon ID était perdu en cour de route. Putain je suis strop con...
Merci quand même :jap:
darklord
mais tu t'en fous de transmettre ou pas transmettre ton ID. C'est complètement transparent pour toi. Si ta JSP est invoquée comme ca
tu auras accès de manière transparente à l'objet session. Et j'ai répondu à te question, en ce sens qui si tu proposes des liens sur ta page JSP ils doivent etre encodées via encodeURL sinon tu perdras ta session si le user clique sur le lien
Pour etre sur que ca marche, tu peux faire ca dans ta servlet
Code :
HttpSession s = request.getSession(); // pour etre sur que la session est crée
[jfdsdjhfuetppo]--Message édité par DarkLord--[/jfdsdjhfuetppo]
deepcore
Désolé, j'ai mal cherché :jap: , mais tu ne réponds pas vraiment à ma question car je parle de encodeRedirectURL(). encodeURL() ne marche pas dans mon cas (ou je l'utilise mal, ou je sais pas...), je vois pas trop comment faire avec ca:
Alors je vois donc pas trop comment faire transmettre l'ID avec encodeURL et mon RequestDispatcher.
darklord
bin c'est justement à ca que ca sert gros malin. Tu ne fais pas de gestion de session en URL rewritting tant que tu n'appelles pas cette méthode pour réécrire toutes tes URL "locales"
Tu as regardé la javadoc avant dire que tu ne trouves rien?
Citation :
encodeURL
public java.lang.String encodeURL(java.lang.String url)Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. The implementation of this method includes the logic to determine whether the session ID needs to be encoded in the URL. For example, if the browser supports cookies, or session tracking is turned off, URL encoding is unnecessary. For robust session tracking, all URLs emitted by a servlet should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.
Parameters:
url - the url to be encoded.
Returns:
the encoded URL if encoding is needed; the unchanged URL otherwise.
quite straigthforward ...
[jfdsdjhfuetppo]--Message édité par DarkLord--[/jfdsdjhfuetppo]
deepcore
Ben voila:
J'ai une servlet qui appelle une JSP avec RequestDispatcher, jusque là tout va bien.
Pb: je fais une gestion des sessions avec réécriture d'URL et ma session est perdue entre ma serlet et ma JSP.
Là je me demande si encodeRedirectURL() pourraît pas me servir mais impossible de trouver de la doc qui m'indique à quoi ça sert exactement.
Enfin bon, j'ai presque plus de cheuveux à force de me les arracher, alors si vous pouviez m'aider.... :cry: