- ベストアンサー
JSPの同時アクセス可能数制限
いつもお世話になっています。 JSPの同時アクセス可能数を1人だけに制限したいと考えています。 ある人がJSPを開こうとした時に、他の人が同じJSPにアクセス中の場合は、警告ダイアログを出し、遷移させないようにしたいです。 JSP→JSPの遷移は単純に <input type="button" value="テスト" onclick="location.href='<%= resource.getString("URL") %>'"> のような感じで、ボタンにリンクを仕込んでいます。 ボタンをクリックして、遷移しようとした際に、リンク先がアクセス中だったら上記のような抑止処理を行いたいと考えています。 セッションやクッキーを使うのでしょうか?初心者で知識が足りないため、根本的に何を使えばいいのかも悩んでいます。 宜しければ、アドバイスを頂けると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
僕が思う「初心者」にこの問題は難しすぎる気がしますが・・ HTTPプロトコルはステートレスなのでこの問題が発生する、ということは 理解されているようなので、初心者では無いと思うのですが・・ ですので、「ステートレス」の解決方法で検索すれば何か引っかかるかもしれませんね。 過去(の記憶で)、僕の経験では、セッション保持の期間を1分程度にしておき、 ブラウザにはリロードするようMETAタグを入れておいて、セッションを 更新することで、ブラウザを閉じるタイミングでは最大1分は無駄に なりますが、ユーザー数の制御はこんな感じで行った(と記憶しています)。
その他の回答 (1)
- _ranco_
- ベストアンサー率58% (126/214)
うーん、リスナとフィルタの組み合わせかなあ。 onclickのリンク先は、超簡単なJSPにしておき: if (先客あり) エラーページ } else{ include本番JSP } みたいなロジックでよいのでは?
お礼
お早い回答ありがとうございます。 リンク先はアドバイス頂いたように条件式を含んだJSPに飛ばす形に変えたいと思います。 先客ありの部分をどのように感知するか、もう少し意見を頂けたらと思います…。すみません。
お礼
丁寧な回答ありがとうございます。 せっかく教えていただいたのに、仕様が変わってしまい、制限が不要になってしまいました;; もし、今後またこのような問題に遭遇したときのために記憶に留めて置こうと思います。 ステートレスという言葉も初めて聞きましたので、色々勉強になりました。