gpt4 book ai didi

tomcat - 我如何在 servlet 之间共享 session 状态?

转载 作者:行者123 更新时间:2023-11-28 23:07:56 25 4
gpt4 key购买 nike

我有一个包含两个 servlet 的网络应用程序,一个用于呈现我的 JSP 页面,另一个用于生成 PDF。我在 JSP 页面之间使用 session 状态,并希望将 session 对象传递给 PDF servlet。

这是我如何在 JSP 中设置 session 值的示例:

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 中返回 session ,如下所示:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession(false);
MyObject o = (MyObject) session.getAttribute("my.object");
}

使用上面的代码,我从请求中获得了一个空 session 对象。

如果我使用 request.getSession(true)我得到一个 session 对象,但它当然不包含属性 my.object 中的任何内容.

这应该如何运作?在 servlet 之间共享 session 状态的规则是什么。

Tomcat 6

TIA

最佳答案

你能检查一下你是否偶然声明了这个:<%@ page session="false"%> 吗?

如果您使用 JSP 隐式 session 对象来设置一个值,它应该对 servlet 可用。

虽然你的代码看起来有效..

关于tomcat - 我如何在 servlet 之间共享 session 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com