在方法中,我通过以下代码将对象放入HttpSession:

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


因此,上一行将名称为docPDF的docPDF对象(这是一个ByteArrayOutputStream实例)放入会话中。

如果在调试器中,我将执行以下操作:

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


我可以看到该对象,因此它似乎正确地放入了HttpSession中。

然后,必须在类的另一种方法中对其进行检索,因此我尝试用这种方式:

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


但问题是我获得docPDF对象为null。

为什么?我缺少什么?也许这取决于它是否在另一个HttpRequest中?

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

谢谢

最佳答案

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

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

关于java - 为什么我无法检索Java中放入HttpSession的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28324726/

10-13 03:27