J'ai créé une page de connexion pour mon projet "student information system" qui contient les champs de texte username, userid et password.i essayé de stocker la valeur de nom d'utilisateur et userid dans l'objet session et l'utiliser dans une autre page mais il renvoie une valeur nulle.objet de session renvoyant null
0
A
Répondre
0
Plusieurs causes:
- l'avoir placé à la session dans le mauvais sens (qui devrait être fait par
session.setAttribute(key, value)
). - L'autre page se trouve dans un domaine/contexte différent (et n'utilise donc pas la même session). Un élément a invalidé la session (par exemple
session.invalidate()
). - Le client ne prend pas en charge les cookies et vous n'avez pas ajouté le support de réécriture d'URL.
- Vous y accédez dans la session dans le mauvais sens (doit être fait par
session.getAttribute(key)
ou${key}
).
Le login.jsp
exemple suivant ..
<form action="login" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="login">
<span class="error">${error}</span>
</form>
<p>Debug info: your current session ID is ${pageContext.session.id}</p>
..avec un servlet mappée sur /login
qui a essentiellement ce qui suit dans doPost()
..
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDAO.find(username, password);
if (user != null) {
request.getSession().setAttribute("user", user);
response.sendRedirect(response.encodeRedirectURL("home.jsp"));
} else {
request.setAttribute("error", "Unknown login, try again");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
..et un home.jsp
qui ont l'air comme ceci ..
<p>Welcome, ${user.name}!</p>
<p>Debug info: your current session ID is ${pageContext.session.id}</p>
..dould juste travailler.
Assurez-vous que l'ID de session est le même dans les deux pages. À des fins de débogage, vous pouvez l'afficher par ${pageContext.session.id}
comme indiqué dans les extraits de code JSP ci-dessus. Si c'est la même chose et que l'objet User
n'est toujours pas là, alors le problème se situe ailleurs.
Questions connexes
- 1. MyLocationOverlay: getMyLocation renvoyant null
- 2. Service Web renvoyant un objet avec des champs null
- 3. FastVectorHighlighter.Net renvoyant null sur GetBestFragment
- 4. Méthode de service WCF renvoyant null
- 5. Différence entre null == objet et objet == null
- 6. Vb Fonction renvoyant la valeur null
- 7. .net Objet COM + renvoyant IDataReader
- 8. API Google Buzz renvoyant Null via JQuery?
- 9. asp.net objet session mvc
- 10. Source de données Oracle renvoyant la connexion null
- 11. MVC ASP.net session est null
- 12. Session est null dans PreRequestHandlerExecute
- 13. ASP.NET WebForms - Variables de session Null
- 14. Base de données null renvoyant en tant que chaîne null dans soap xml
- 15. Requête jQuery Ajax renvoyant null dans Internet Explorer uniquement
- 16. Javascript HTTP GET html/text renvoyant null/vide?
- 17. Objet ServletContext et session
- 18. Problème renvoyant un objet à partir d'un AsyncTask
- 19. La session est null en cas d'héritage de System.Web.UI.Page
- 20. NHibernate - objet enfant est null
- 21. Pourquoi mon nouvel objet() NULL?
- 22. comparer un objet à null!
- 23. Objet sérialisable dans l'intention renvoyant sous forme de chaîne
- 24. Null est-il un objet?
- 25. IHttpHandler null session (sur certains serveurs)
- 26. Impossible de créer un objet de session
- 27. ASP.NET AJAX Erreur - null est null ou un objet
- 28. Objet Codeigniter dans la session?
- 29. Variable de session retournant null ... après quelques postbacks ... si la session de l'utilisateur est valide
- 30. Comment définir un objet sur null