【问题标题】:Why I can't retrieve an object put into the HttpSession in Java?为什么我无法检索放入 Java 中的 HttpSession 的对象?
【发布时间】:2015-02-04 15:11:33
【问题描述】:

通过这一行将对象放入 HttpSession 的方法中:

req.getSession().setAttribute("docPDF", docPDF);

所以上一行将 docPDF 对象(它是一个 ByteArrayOutputStream 实例)放入会话中,名称为 docPDF

如果我在调试器中这样做:

req.getSession().getAttribute("docPDF")

我可以看到这个对象,所以它似乎正确地放入了 HttpSession

然后,进入我类的另一个方法,我必须检索它,所以我尝试了这种方式:

docPDF = (ByteArrayOutputStream) req.getAttribute("docPDF");

但问题是我发现 docPDF 对象是 null

为什么?我错过了什么?也许这取决于这是另一个 HttpRequest 的事实?

如何正确检索我放入会话中的这个对象?

谢谢

【问题讨论】:

  • 应该是 docPDF = (ByteArrayOutputStream) req.getSession().getAttribute("docPDF")。您正在尝试从请求范围获取属性,但将其设置在会话范围内。

标签: java servlets httpsession


【解决方案1】:

如果您在 Session 中设置对象,则只能从 Session 中获取。 使用此代码。

docPDF = (ByteArrayOutputStream) req.getSession().getAttribute("docPDF") 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    相关资源
    最近更新 更多