0

我只想问有没有人做过这样的事情。基本上,它就像贝宝快速结帐功能:

1.) 您在商家商店中选择要结帐的商品。

2.) 您将被重定向到登录页面,在我的例子中,我将其实现为 Jersey Rest Servlet。在发布时,将数据存储在会话 EJB 支持 bean 中并调用 Response.seeOther() 以重定向到登录页面 (JSF)。

3.) 如果登录成功,则应保留已发布的交易数据。

但似乎,虽然我可以调用会话支持 bean,但将发布的数据存储在该 bean 内的变量中。当我单击登录(登录确定)并重新访问同一个 bean 时,我存储发布数据的变量变为空。

那么,Jersey Rest Servlet 和 ejb 中的会话范围支持 bean 之间是否不共享会话范围?

还有什么好的方法吗?

谢谢,
czetsuya

4

2 回答 2

1

会话范围不适用于 Web 服务调用。您需要使用 Application 范围,或创建自己的范围。

于 2012-06-14T15:11:07.860 回答
0

在尝试解决这个问题之后,我得出一个结论,即不可能将 jsf 会话共享到 jersey 或 servlet 会话,因为它们以不同的方式实现。

我对我的问题的解决方案(不回答问题)是使用 HttpServlet,并将事务存储为会话属性:

HttpSession session = request.getSession(true);
session.setAttribute("POSTED_ITEMS", postedItems);

所以我将能够访问它到下一页。

*我希望有一种方法可以发布到由 javaee6 bean 支持的 jsf 页面,这将使生活变得简单:-)。

于 2012-06-22T00:58:02.050 回答