1

web.xmlでセッションタイムアウトを5分に設定しました。そして、セッションが期限切れになると、sessionDestroyed()が実行されます。

しかし、ブラウザウィンドウがまだそこにある限り、セッションを存続させたいです。したがって、各JSPページには、100秒ごとにサーバー上の画像にアクセスするJavaScriptコードがあります。この部分に関する基本的な考え方は、 http://www.intelliproject.net/articles/showArticle/index/js_session_expiredにあります。

ただし、sessionDestroyed()は5分以内に実行されます。これが私の質問です。100秒ごとにアクセスし続けているのに、なぜsessionTimeoutイベントがトリガーされるのですか?

4

2 に答える 2

3

firebugを使用して net タブを開き、javascript リクエストを監視します。各画像 GETを受信する必要がHTTP 200あり、各 URL には最後に乱数が追加されている必要があります。乱数は最終的に繰り返され、ユーザーがログアウトされる可能性があるため、おそらく乱数ではなくタイムスタンプを使用する必要があります。

これが起こっているサンプルページはありますか?

于 2009-12-18T17:49:23.300 に答える
2
  1. js 呼び出しが実行されることを確認してください - js エラーがなく (エラー コンソールを参照)、200 が返されることを確認してください。
  2. 画像の最後にランダム パラメータを使用しないでください。キャッシュをバイパスする保証はありません。代わりに、アクセスされたリソースの Expires / Cache-Control ヘッダーを設定します
  3. 画像を使用せず、空のテキスト (jsp) ファイルを使用してください。そこにヘッダーを手動で設定することもできます。
于 2009-12-18T20:32:49.023 に答える