因此,当请求此 servlet 时,我试图让一个 servlet 将 Java 对象添加到用户的 session 中。但是在 servlet 重定向到下一页并尝试检索对象后,我得到了一个 null
对象。
这是我将对象添加到 HttpSession(在 servlet 中)的操作:
request.setAttribute("object", obj);
然后我尝试通过(在 JSP 中)检索它:
Object obj = request.getAttribute("object");
那么我怎样才能让 obj 不为空呢?
更新: 我也尝试过这个:
HttpSession session = request.getSession();
session.setAttribute("object", obj);
在 JSP 中包含以下内容:
Object obj = request.getSession().getAttribute("object");
两种方式仍然返回 null。
最佳答案
您没有将对象添加到 session 中,而是将其添加到请求中。
你需要的是:
HttpSession session = request.getSession();
session.setAttribute("MySessionVariable", param);
在 Servlet 中,您有 4 个可以存储数据的范围。
- 应用
- session
- 请求
- 页面
确保您了解这些内容。更多看here
关于java - 如何在 HttpSession 中存储 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5766521/