如何访问EJB的“Session”?

时间:2010-08-23 09:34:10

标签: java session ejb

如何在JSP(Web层)中获取EJB会话bean(如会话对象)的会话对象?

因为我想在会话中添加一个属性,并在以后的过程中使用它。

此致

1 个答案:

答案 0 :(得分:2)

在网络图层中,您可以使用

进行会话
request.getSession()

这将返回与此请求关联的会话对象。在这里,您可以存储可在后续请求中重复使用的会话特定属性。

在EJB中,您拥有完全不同的会话对象,这些对象与上面的会话无关。有无状态会话Bean和有状态会话Bean。有状态会话bean也可以在多个请求上保持状态,但是它们非常难以使用,并且仅对非常有限的一组用例有用。无状态会话Bean在调用之间不保持(外部可检测)状态,因此无法存储您希望稍后重用的属性,除非将它们存储在持久层或缓存中。

在大多数情况下,最简单的方法是将对话状态保留在请求会话对象中,并将稍后要重用的属性从Web层传递给无状态服务bean作为参数。