为什么我无法检索放入Java中的HttpSession的对象?

时间:2015-02-04 15:11:33

标签: java servlets httpsession

进入一个方法我把一个对象放到 HttpSession 这一行:

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

因此,上一行在会话中添加了名为 docPDF docPDF 对象(它是 ByteArrayOutputStream 实例)。

如果我在调试器中执行:

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

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

然后,进入我班级的另一个方法,我必须检索它,所以我尝试这样:

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

但问题是我获得 docPDF 对象 null

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

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

由于

1 个答案:

答案 0 :(得分:4)

如果在Session中设置对象,则必须仅从Session获取。 使用此代码。

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