java - 如何在 HttpSession 中存储 Java 对象?

标签 java jsp servlets httpsession

因此,当请求此 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 个可以存储数据的范围。

  1. 应用
  2. session
  3. 请求
  4. 页面

确保您了解这些内容。更多看here

关于java - 如何在 HttpSession 中存储 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5766521/

相关文章:

java - 在JSP中上传目录的内容

javascript - 如何在没有 web.xml 的情况下将 AJAX 映射到 servlet

Java 8 表达式求值顺序

java - 当软键盘可见时,CollapsingToolbarLayout 不折叠

java - 坚持创建一个新对象

java - 如何确保 replaceAll 将替换整个单词而不是子字符串

javascript - HTML+javascript还是javascript+jsp?

java - 从 Java 中的字符串中删除未使用的空格和逗号

java - HTTP 状态 500 - javax.servlet.ServletException : Servlet execution threw an exception

java - 将两个列表和三个字符串从 servlet 传递给 java 类