如何在JSP(Web层)中获取EJB会话bean(如会话对象)的会话对象?
因为我想在会话中添加一个属性,并在以后的过程中使用它。
此致
答案 0 :(得分:2)
在网络图层中,您可以使用
进行会话request.getSession()
这将返回与此请求关联的会话对象。在这里,您可以存储可在后续请求中重复使用的会话特定属性。
在EJB中,您拥有完全不同的会话对象,这些对象与上面的会话无关。有无状态会话Bean和有状态会话Bean。有状态会话bean也可以在多个请求上保持状态,但是它们非常难以使用,并且仅对非常有限的一组用例有用。无状态会话Bean在调用之间不保持(外部可检测)状态,因此无法存储您希望稍后重用的属性,除非将它们存储在持久层或缓存中。
在大多数情况下,最简单的方法是将对话状态保留在请求会话对象中,并将稍后要重用的属性从Web层传递给无状态服务bean作为参数。