- ベストアンサー
Java/サーブレットでの一般的な2重リクエスト防止方法について
Java/サーブレットでの一般的な2重リクエスト防止方法について いつもお世話になります。 JSP/サーブレットでWebアプリを作成しているのですが、2重リクエストを防止する方法について、 クライアント側とサーバ側それぞれで、一般的にはどのような実装を行うのかご教授願えませんでしょうか。 「クライアント側とサーバ側それぞれで」としているのは、JavaScript禁止の場合を考慮して、 サーバ側のみで対処する場合どうするのかを知りたいためです。 特別なフレームワークは利用しておらず、tomcatを使用したJSP/サーブレットにて開発を行っております。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JavaScript禁止としたら、 サーバー側でフラグ見たいのをつければいいかな? たとえば フラグ = request.getSession().getAttribute("フラグ");//フラグと言うオビジェクトをゲット if(フラグ!=null) フラグ = request.getSession().setAttribute("フラグ","OK");//ここは フラグと言うオビジェクト名と "OK" 内容を セット 何かの作業 else なんも しない これは セッションから取り寄せたオビジェクトがnullの場合のみ なんらかの作業をします, 作業を行う前か後で必ず オビジェクトに 何かを 代入してセッションに入れれば 次には 無視されます、 他のページへ移動するとか。 自分も 初心者なので 当たり前のことを 言っていたら すみません。 ちなみに コードがあってるかは確かめていませんw
その他の回答 (1)
Struts フレームワークでは、トランザクショントークンという技術がありますね。 まぁ余所のフレームワークも似たような実装してるんじゃないでしょうか?