私は J(2)EE と Web アプリ開発の世界には不慣れですが、すぐにその世界をナビゲートし、多くのことを学んでいます。毎日が新しい発見の素晴らしい航海です。
私は現在、Glassfish v2 で Visual JSF Woodstock を使用しているプロジェクトに取り組んでいます。私はJSFにもかなり慣れていません。
リクエスト間でいくつかのオブジェクト (たとえば MyObject など) を保存する必要がある場合があります。これまで読んで理解したことから、異なるリクエスト間でこれらのオブジェクトを保存するには、セッションを使用する必要があります。ここまでは順調ですね。
正確にこれを行う方法は、私の懸念があるところです。session.setAttribute("myObj", myObject)
JSPでは、 CookieまたはURLの書き換えまたは非表示のフォーム変数を使用してクライアント側でオブジェクトを保存する を使用できることを知っています。
一方、JSF では、Session スコープ Bean を使用します。たとえば、SessionBean1 を使用し、オブジェクトを SessionBean1 プロパティ (たとえばSessionBean1.setSomeOjb(myObj)
) として保存します。これはこれで正しい方法ですか?
このようにすると、サーバー側でのメモリ使用量が増加すると推測されます。これは、各リクエストがセッション スコープ Bean の新しいインスタンス、SessionBean1 に加えて、SessionBean1 に保存された myObject インスタンスによって使用されるメモリを作成するためです。
FacesContext.getExternalContext().getSession/getSessionMap()
クライアント側でセッション変数を保存するものを使用できることを読みました。
では、セッション スコープ Bean とセッション マップのどちらを使用して、セッションのリクエスト間のアクセス用にオブジェクトを保存することをお勧めしますか?
ありがとう。