我只是想问一下是否有人做过这样的事情。基本上,它就像paypal快速结账功能:
1。)您在商店中选择结帐项目。
2。)您将被重定向到登录页面,在我的情况下,我将其实现为Jersey Rest Servlet。在post上,将数据存储在会话EJB支持bean中,并调用Response.seeOther()以重定向到登录页面(JSF)。
3.如果登录成功,则应保留已发布的交易数据。
但看起来,虽然我可以调用会话支持bean,但是将发布的数据存储在该bean内的变量中。当我单击登录(登录确定)并重新访问同一个bean时,我存储已发布数据的变量将变为空。
在ejb中,Jersey Rest Servlet和Session范围支持bean之间是否共享会话范围?
还有其他好办法吗?
谢谢,
czetsuya
答案 0 :(得分:1)
会话范围不适用于Web服务调用。您需要使用应用程序范围,或创建自己的范围。
答案 1 :(得分:0)
在尝试解决这个问题之后,我得出结论,不可能将jsf会话分享到jersey或servlet会话,因为它们是以不同的方式实现的。
我的问题解决方案(不回答问题)是使用HttpServlet,并将事务存储为会话属性:
HttpSession session = request.getSession(true);
session.setAttribute("POSTED_ITEMS", postedItems);
所以我将能够访问下一页。
*我希望有一种方法可以发布到javaee6 bean支持的jsf页面,这样可以简化生活: - 。