- PR -

ajaxとtomcatのセッション管理

1
投稿者投稿内容
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2007-08-20 15:25
 ajaxを使ったデータエントリー画面を作成しているのですが、今つくってる画面は
従来画面と比較し、画面まるごとのsubmitや、ajaxを使ったサーブレットとの通信は
少なく、Web画面上でデータをかなり長い時間エディットすることが予想されます。
従来画面であれば、submitされていたような操作もブラウザ上でクローズしておこな
われていたりします。
オペレータがサーバサイドの処理が発生をさせずに、延々とデータ修正して、さー
書き込みという時に、セッションタイムアウトとなり修正内容はチャラといった
状況が発生しやすいといえます。
それを回避したいとおもい。どういった方法とるのか検索してみたのですが、
どうもよい例がひっかかりません。

私が考えたのは
1 画面上でデータ変更があるたびに、ajaxで要求を投げセッションを更新する。

現行でデータ変更毎にjavascriptは動いているのですが、サーバサイドまで投げると
なるとレスポンスの低下が心配です。
変更毎というのも実現的ではないとおもいます。
そこで

2 一定時間内に操作、あるいは何回かデータ変更されたらajaxで要求を投げセッシ
ョンを更新する。

これはやり方はいろいろ考えられますが、実現もできますし、運用にあたっての問題も
特におもいあたらないのですが、もっとシンプルで、みんなにわかりやすいというか、
納得できるような仕様はないかと考えています。

なにかよい方法はないでしょうか?

環境
jdk 1.5
ブラウザ IE6とFireFox1.5
Tomcat 5.5
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-20 15:58
一定時間ごとに通信してセッション更新しないと無理なのでは?

セッションに格納している情報が大したことなければ
更新するタイミングでログインしなおせば済むのかもしれませんね。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-08-20 17:06
私も思い浮かぶのがsetIntervalによる定期的な通信ですね。
適切な間隔で何もしないサーブレット辺りにリクエストを投げるような感じです。
リクエストボディやレスポンスボディに何も含めなければ、
大した通信量にもならないと思います。

ただ、ブラウザキャッシュだけ気をつける必要があります。
URLのパラメータに時間を含めるといいかもしれませんね。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-08-20 18:51
単いセッションタイムアウトを長くするのはいかがでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)