【发布时间】:2011-03-03 19:50:19
【问题描述】:
我有一个 Web 应用程序,其中包含两个 servlet,一个用于呈现我的 JSP 页面,另一个用于生成 PDF。我在 JSP 页面之间使用会话状态,并希望将会话对象传递给 PDF servlet。
这是我如何在 JSP 中设置会话值的示例:
MyObject o = (MyObject)session.getAttribute("my.object");
if (o == null)
{
o = new MyObject();
session.setAttribute("my.object", o);
}
然后我从我的 JSP 中的链接发布到我的新 servlet 以生成 PDF
<a href="../pdfgen?f=d&t=c" target="_blank">Generate a draft report for review</a>
我想我可以使用 HTTPRequest 对象在我的 servlet 中返回会话,如下所示:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession(false);
MyObject o = (MyObject) session.getAttribute("my.object");
}
使用上面的代码,我从请求中得到一个空会话对象。
如果我使用request.getSession(true),我会得到一个会话对象,但当然它不包含属性my.object 中的任何内容。
这应该如何工作?在 servlet 之间共享会话状态的规则是什么。
雄猫 6
TIA
【问题讨论】:
标签: tomcat servlets tomcat6 session-state