进入一个方法我把一个对象放到 HttpSession 这一行:
req.getSession().setAttribute("docPDF", docPDF);
因此,上一行在会话中添加了名为 docPDF 的 docPDF 对象(它是 ByteArrayOutputStream 实例)。
如果我在调试器中执行:
req.getSession().getAttribute("docPDF")
我可以看到这个对象,所以它似乎正确地被放入 HttpSession 。
然后,进入我班级的另一个方法,我必须检索它,所以我尝试这样:
docPDF = (ByteArrayOutputStream) req.getAttribute("docPDF");
但问题是我获得 docPDF 对象 null 。
为什么呢?我错过了什么?也许它可能取决于这是另一个HttpRequest的事实?
如何正确检索我放入会话的这个对象?
由于
答案 0 :(得分:4)
如果在Session中设置对象,则必须仅从Session获取。 使用此代码。
docPDF = (ByteArrayOutputStream) req.getSession().getAttribute("docPDF")