一尘不染

如何在HttpSession中存储Java对象?

java

因此,当请求该servlet时,我试图获取一个servlet来向用户会话添加Java对象。但是,在servlet重定向到下一页并尝试检索对象之后,我得到了一个null对象。

这是将对象添加到HttpSession(在servlet中)的操作:

request.setAttribute("object", obj);

然后,我尝试通过(在JSP中)检索它:

 Object obj = request.getAttribute("object");

那么,如何使obj不为null?

更新:我也没有尝试过这个:

HttpSession session = request.getSession();
session.setAttribute("object", obj);

在JSP中具有以下内容:

 Object obj = request.getSession().getAttribute("object");

两种方法仍然返回null。


阅读 702

收藏
2020-03-24

共1个答案

一尘不染

你不是将对象添加到会话中,而是将其添加到请求中。
你需要的是:

HttpSession session = request.getSession();
session.setAttribute("MySessionVariable", param);

在Servlet中,你有4个范围可以存储数据。

  1. Application
  2. Session
  3. Request
  4. Page
2020-03-24