2012-02-15 5 views
2

私は、複数のJSPファイルを持つWebアプリケーションを作成しています。セッションタイムアウトは20分です。 しかし、私はアクションを呼び出すときに特定のJSPで私はセッションのタイムアウトを大きく設定する必要があります。私が使用します。 request.getSession().setMaxInactiveInterval(1800);JSP - JSPページを終了するときを知る

は、その後、私はそれにセッションタイムアウトをリセットし、それが終了していますワンアクションでは、元の値です: request.getSession().setMaxInactiveInterval(600);

しかし、一つのアプリを実行している、とアクションを呼び出すときには、近くにセッションを終了します "設定した時間が既に過ぎてしまっている。

私が知りたいことは、jspを終了するときに方法がわからない場合です。ブラウザーを閉じたり、タブウィンドウを閉じたりしないでください。たとえば、私は別のJSPを呼び出しますか?

また、アクションの終了時にセッションが終了しないように、セッションタイムアウトを再設定する別の方法はありますか?

忘れました。 アクションは、for bucleの内部にあり、条件が満たされている場合は、アクションが呼び出されます。そして、私は、アクションを呼び出す前にセッションのタイムアウトを変更し、アクションが終了する時刻をリセットするコードを入れました。

for(int i = 0; i < totalreg; i++) { 
    if (condition) { 
     request.getSession().setMaxInactiveInterval(1800); 
     process(); 
     request.getSession().setMaxInactiveInterval(600); 
    } 
} 

ありがとうございます。

+0

他のjspに移動すると、その権利を明示的にコード化しますか?特定のコードでこの行を追加してみませんか? – kosa

答えて

1

ランダムなページを連続してリロードすると、目に見えない/非常に小さいiframeがあります。あるいは、その目的のためにAJAXを使用することもできます。この方法では、このページが開いている限りセッションがタイムアウトすることはありません。

アクションの進行状況を非同期的に表示するのにも適しています。

+0

答えをありがとう、しかし私は目に見えないiframeをやっているのは受け入れられません。 ajaxの使い方について、どうすればいいですか?私はこれでちょうどbegennirだと言う必要があります。 –

+0

セッションを有効に保つために、リフレッシュiframeを使用するのはなぜいいのでしょうか? AJAXはあまり変わらず、おそらく同じ問題につながるでしょう。 – Simon

+0

それはより多くのポリシー会社の機能です。 –

関連する問題