将Java动作类的值传递给ejb?

时间:2010-11-25 08:54:53

标签: java servlets ejb

我开发了一个Web应用程序。我把会话ID放在哈希表中。我想在ejb中使用这个哈希表。意味着我想在ejb中使用此登录会话。

有可能吗?我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

这不是不可能,但你不能这样做。从HttpSession获取所需的一切,并将其作为方法参数发送给EJB。例如:

public void doGet(HttpServletRequest request, HttpServletResponse response) {
    String foo = (String) request.getSession().getAttribute("foo");
    ejbService.doSomething(foo);
}

所以 - 通过应用程序的链层将所需的值作为参数传递给方法。

答案 1 :(得分:0)

安全凭证自动从servlet传递到EJB。如果您的用户已经对Web容器进行了身份验证,那么您无需再做任何工作。

在会话bean中,按照link text

所述获取EjbContext
 @Resource
 private SessionContext sctx;

然后调用

等方法
 sctx.getCallerPrincipal();