Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1365 connectés 

  FORUM HardWare.fr
  Programmation

  [java][jsp][servlet] Pb de perte d'ID de session entre servlet et jsp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java][jsp][servlet] Pb de perte d'ID de session entre servlet et jsp

n°111580
deepcore
Posté le 13-03-2002 à 14:35:05  profilanswer
 

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:


---------------
"Si ça peut déconner, ça va déconner..."
mood
Publicité
Posté le 13-03-2002 à 14:35:05  profilanswer
 

n°111601
darklord
You're welcome
Posté le 13-03-2002 à 14:56:18  profilanswer
 

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]


---------------
Just because you feel good does not make you right
n°111623
deepcore
Posté le 13-03-2002 à 15:32:43  profilanswer
 

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:
 
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(res.encodeURL("/jsp/
page.jsp" ));
System.out.println(req.getRequestedSessionId());
dispatcher.forward(req, res);
 
là, c'est ok j'ai mon ID dans ma console, et là (page.jsp):
 
<%
 System.out.println("Body.jsp---> " + request.getRequestedSessionId());
 url = response.encodeURL("http://localhost:8080/Monitor/servlet/Controler?case=1" ); %>  
 
<form method="post" action="<%=url%>" target=_parent>
 
Et j'ai null dans ma console cette fois-ci.
 
Alors je vois donc pas trop comment faire transmettre l'ID avec encodeURL et mon RequestDispatcher.


---------------
"Si ça peut déconner, ça va déconner..."
n°111626
darklord
You're welcome
Posté le 13-03-2002 à 15:39:55  profilanswer
 

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
 
http://site.com/jsp/majsp.jsp?jses [...] therparams ..
 
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 :
  1. HttpSession s = request.getSession(); // pour etre sur que la session est crée
  2. // ajout d'un machin bidon
  3. s.setAttribute("toto", new String("coucou" ));
  4. URL dest = res.encodeURL("/jsp/page.jsp" )
  5. System.out.println("URL encodée : "+dest);
  6. RequestDispatcher dispatcher = context.getRequestDispatcher(dest);
  7. dispatcher.forward(req, res);


 
et dans ta jsp
 

Code :
  1. <%= session.getAttribute("toto" ) %>


 
A+

 

[jfdsdjhfuetppo]--Message édité par DarkLord--[/jfdsdjhfuetppo]


---------------
Just because you feel good does not make you right
n°111631
deepcore
Posté le 13-03-2002 à 15:50:21  profilanswer
 

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:


---------------
"Si ça peut déconner, ça va déconner..."
n°111634
darklord
You're welcome
Posté le 13-03-2002 à 15:56:31  profilanswer
 

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...




 
 
 :sarcastic:


---------------
Just because you feel good does not make you right

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [java][jsp][servlet] Pb de perte d'ID de session entre servlet et jsp

 

Sujets relatifs
[JAVA] Recuperation d'un fichier source[JAVA] truc bizarre pour debutant en applet...
[JAVA] Quels sont vos forums préférés pour développer en Java ?Php vs Applet java
[java] a propos des couleurs...[Flash] Question sur Flash et Java ?
[Java] Un logiciel qui reformate le code automatiquement et gratuit[Java] menu déroulant en couleurs?
[JAVA] Pb de configuration du ClassPath de TomCat 4.0..[Delphi] Composant pour minimiser la perte d'espace sur les Cds
Plus de sujets relatifs à : [java][jsp][servlet] Pb de perte d'ID de session entre servlet et jsp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR