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

Why I can't retrieve an object put into the HttpSession in Java?

进入一个方法我通过这一行将对象放入 HttpSession

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

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

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

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

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

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

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

但问题是我得到 docPDF 对象是 null.

为什么?我缺少什么?也许这可能取决于这是另一个 HttpRequest 的事实?

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

谢谢

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

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