Java EE プロジェクトで jsp ページの更新に関する問題が発生しました。サーブレットがプロジェクトのデータベースを変更するたびに、変更が jsp ページに表示されません。ユーザーのログアウト後にのみ表示されます。
データベース MySQL の変更後にセッションを更新する方法はありますか? (サーバーJBossを使用しています)。
Java EE プロジェクトで jsp ページの更新に関する問題が発生しました。サーブレットがプロジェクトのデータベースを変更するたびに、変更が jsp ページに表示されません。ユーザーのログアウト後にのみ表示されます。
データベース MySQL の変更後にセッションを更新する方法はありますか? (サーバーJBossを使用しています)。
DBから取得したデータをセッションスコープに格納しないでください。request スコープに格納します。このようにして、エンドユーザーはすべての HTTP リクエストで最新のデータを取得します。
パフォーマンスが心配な場合は、HTTP セッションをある種の非効率的で管理不能なキャッシュとして悪用する以外の解決策を探してください。たとえば、200 ~ 500 ミリ秒ではなく 1 ミリ秒で DB に接続するための DB 接続プールや、Terracotta や Ehcache などの Java ベースの第 2 レベル DB キャッシュを使用して、データベースを非効率的に複製するのではなく、健全で管理しやすい共有キャッシュを使用します。現在行っているのと同じように、異なる HTTP セッションのすべてのユーザーに対してまったく同じデータを取得します。
「プレーンな古い」JDBC の代わりに JPA を使用している場合、これはすべて簡単です。
私はこのように解決しました: プロファイルに新しいパラメータを設定するときrequest.getSession.setAttribute(user);
、getRequestDispatcher(myPage.jsp);
. どうもありがとう!!