私はJava ee Webアプリケーション(web、ejb、persistence dbの3つのレイヤー)を実行しています。そして私はいくつかのオブジェクトを保存したいだけですが、セッション時間中にのみ保存します(dbで保存しないでください)。どうやってやるの?マネージドBeanにオブジェクト(pojos)を保存する必要がありますか?このように、すべてのユーザーは独自の保存オブジェクトを持ちます。ユーザーセッション中にオブジェクトを永続化する方法
ありがとうございました
私はJava ee Webアプリケーション(web、ejb、persistence dbの3つのレイヤー)を実行しています。そして私はいくつかのオブジェクトを保存したいだけですが、セッション時間中にのみ保存します(dbで保存しないでください)。どうやってやるの?マネージドBeanにオブジェクト(pojos)を保存する必要がありますか?このように、すべてのユーザーは独自の保存オブジェクトを持ちます。ユーザーセッション中にオブジェクトを永続化する方法
ありがとうございました
httpセッション中にいくつかのユーザー固有の情報をメモリに保存する方法がいくつかあります。
セッション・コンテキストは、同じHTTPセッションで発生するすべてのサーブレット要求の間で共有されています。 HTTPSessionがタイムアウトすると、すべてのHttpSessionListenersが呼び出された後、invalidate()が呼び出されたリクエストの最後に、すべてのフィルタとServletRequestListenersが呼び出された後でセッションコンテキストが破棄されます。
このように、すべてのユーザーは、セッションスコープのBeanに格納された独自のデータセットを持ちます。
HttpSessionに直接アクセスし、そこにユーザー固有のデータを格納します。
FacesContext facesContext = FacesContext.getCurrentInstance(); HttpSessionセッション=(HttpSession)facesContext.getExternalContext()。getSession(false); ... session.setAttribute(key、value); ... session.setAttribute(key);
「保存済み」とは、「DB内」を意味するものではありません。他に、オブジェクトを「保存」したいのですか? –
私はejbでいくつかの計算をしている間に短時間保存します。 – pquin92
具体的な例を挙げてください。これはあまりにも曖昧です。オブジェクトがセッションに結び付けられている場合は、オブジェクトをセッションに格納します。単なる要求に対して有効であれば、それらをどこにでも格納したり、要求属性に格納したりしないでください。 –