Problème transfert de session

patricetouner Messages postés 1 Date d'inscription mercredi 15 décembre 2004 Statut Membre Dernière intervention 15 décembre 2004 - 15 déc. 2004 à 07:43
DhakouaniM Messages postés 20 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 30 avril 2005 - 6 janv. 2005 à 09:00
J'essaie de transférer des objets d'une servlet à une autre via la
session http. Mais ma deuxième servlet ne trouve pas la session
créée ???

Le code de ma première servlet (simplifié des tests) comporte
les lignes suivantes :
---------------------------------------------------
HttpSession session = request.getSession();
session.setAttribute("message","mon message");
RequestDispatcher dispatcher = request.getRequestDispatcher("/second");
dispatcher.forward(request,response);
---------------------------------------------------

Et ma deuxième servlet contient le code suivant :
---------------------------------------------------
HttpSession httpSession = request.getSession();
if ( httpSession.isNew()) {
// trace message nouvelle session
}
---------------------------------------------------

Dans les traces, je vois bien l'appel de ma première servlet, et l'appel
de ma seconde servlet. Donc, le fichier web.xml n'est pas en cause.

De plus, si, une fois mon test effectué, je lance la deuxième servlet
via le navigateur directement, elle voit bien la session, et le paramètre
initialisé !!!

Petite remarque, lorsque ma première servlet a fini d'appeler la seconde,
dans la barre d'adresse du navigateur, j'ai toujours le nom de ma
première servlet.

Bref, je ne sais plus où chercher. Je pense que la méthode :
dispatcher.forward ne transmet pas la session. J'ai même essayé en
passant le sessionId que je peux récupérer par la méthode encodeURL.

Merci et bonne journée

1 réponse

DhakouaniM Messages postés 20 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 30 avril 2005
6 janv. 2005 à 09:00
voici ce que j'utilise dans ma servlet appelee pour recuperer un bean dans la request :

if (request.getAttribute("userInfo") != null)

userInfo = (UserInfoBean) request.getAttribute("userInfo");

else {

userInfo = new UserInfoBean();

request.setAttribute("userInfo",userInfo);



et a la fin le test :

if (!userInfo.getBeanValid()) {


RequestDispatcher dispatcher =
request.getRequestDispatcher("bb.jsp?error=yy");

dispatcher.forward(request, response);

}

else {


RequestDispatcher dispatcher = request.getRequestDispatcher("aa.html");

dispatcher.forward(request, response);



si ca peut t'aider !!



a+ Mehdi
0
Rejoignez-nous