2010-08-23 29 views
1

如何在JSP(Web層)中獲取EJB會話bean的會話對象,如會話對象?如何訪問EJB的'會話'?

因爲我想向會話中添加一個屬性,並在以後的過程中使用它。

問候

回答

2

在Web層你的會話與

request.getSession() 

這將返回綁定到該請求的會話對象。在這裏您可以存儲會話特定的屬性,您可以在後續請求中重複使用。

在EJB層中,您有完全不同的會話對象,它們與上面的會話無關。有無狀態會話Bean和有狀態會話Bean。有狀態會話bean也可以在多個請求中保持狀態,但是它們處理起來非常棘手,並且僅用於非常有限的一組用例。無狀態會話Bean不會在調用之間保持(外部可檢測)狀態,因此稍後將存儲您希望重用的屬性是無用的,除非將它們存儲在持久層或緩存中。

在大多數情況下,最簡單的工作是將對話狀態保留在請求會話對象中,並將稍後要從Web層重新使用的屬性傳遞給無狀態服務bean作爲參數。