2015-10-03 1 views
0

Donc question assez simple, avec assez peu de réponses en ligne, mais je les ai tous essayé et aucun d'entre eux ne semble fonctionner pour moi.Comment faire pour transférer d'une servlet java à l'autre dans la même session

 ServletContext servletContext = getServletContext(); 
     RequestDispatcher rd = servletContext.getRequestDispatcher("Home"); 
     rd.forward(request, response); 

Ceci est ma tentative actuelle, qui produit java.lang.NullPointerException

J'ai aussi essayé d'utiliser RequestDispatcher rd = request.getRequestDispatcher("Home"); qui produit une page blanche

response.sendRedirect("Home"); 

Works mais ne conserve pas même session

Je redirige depuis ma servlet de connexion vers la servlet Accueil, les deux sont stockés dans le même package, les deux sont en web.xml (même si ce n'est plus nécessaire)

+0

Puisque vous voulez passer du servlet de connexion à la servlet Home, faites juste une redirection, cela devrait marcher. Quel est le problème exact que vous avez avec cette approche? Assurez-vous de stocker les données dans la portée de la session et non dans la portée de la demande. –

+0

@LuiggiMendoza mes informations utilisateur sont stockées dans des beans, qui ne peuvent pas être dans la portée de la demande, mais avec rediriger mon utilisateur est réinitialisé à null, comme s'il n'y en a pas, Ok je suis redirigé pour travailler directement en session, mais je suis Je ne sais pas si c'est une bonne façon de le faire. –

Répondre

0

J'ai trié mon problème en stockant le nom d'utilisateur directement en session au lieu de beans, et utilisé la redirection au lieu de forward, pour certaines raisons, les beans ne conservaient pas correctement les valeurs après la redirection.