サーブレットを呼び出すリンクをクリックすると。他の仕事は、この修正プログラムのために周りにありますが、私はそのリンクにサーブレットがエラーをスローし、複数の時間(エラーの詳細は重要ではない) をクリックし (のようになど、リンクを一度クリック無効) 私は好奇心これを制御する方法があります要求/応答オブジェクトを介して。サーブレット制御の複数の要求
答えて
エラーは1つがあなたがおそらくあなたは、サーブレットのエラーの詳細は、潜在的に興味深いサーブレットに
エラーは、いくつかのロジックを持つObjectをいくらか大きくしています。これは、マルチユーザ環境では問題にはなりません。しかし、同じユーザーに対してパラレルリクエストを行うと、この問題が発生します。 – Madhu
を実装する方法にスレッド安全性の問題を持っていることを意味し、別の演技サーブレットへの複数の呼び出しを持つ、関連性があります。一般的にサーブレットAPIはエラーを投げてはいけません。これはアプリケーションエラーです。
私が適用しようとする一般的な原則は次のとおりです。
1)。私たちは、実際には2つのそのような要求を送信したくない、(例えば。うっかり二度同じ要求を提出するユーザーのためにそれをdifficlut作るためにUIを構築し、私のアカウント£100を引き落とす。これは、いくつかのNIFTは助けることができるjavascriptの場所です。
2)。私たちは、重複を見つけることを可能にする要求にある種の識別子を含めるなど、不注意な二重要求に対して防御するアプリケーションを構築します。
私たちはではありません。は、UIが完璧であると想定しています。私たちのビジネスアプリケーション層は、ダブルアクションを防止する最終的な責任を負っています。
があり、我々は、ユーザーのヒットは、サーブレットがレスポンスオブジェクトをcostructingされ、ブラウザがリクエストオブジェクトを送信して送信すると、この問題は – Madhu
を解決しますHttpResponseObjectを更新したときにすでに利用可能な任意の組み込み方法ではありません。 ブラウザは、2番目のクリックが最初のものと関係があることを「知っている」ので、2つの要求には関係がありません。 リクエストを受信したサーブレット(別のクラスタメンバーで実行されている可能性もあります)は、コードを記述しない限り、以前のreuqest(HTTPはステートレス)について何もできません。 Strustなどのフレームワークには、この問題に対処する機能があります。 – djna
意味があります。しかし、まだ私はこの問題の解決策を見つけるためにgoogleing – Madhu
サーブレットを入力するとき、サーブレットセッションスコープのフラグを設定し、出るときにそれをリセットします。入力時にフラグが設定されている場合は、黙って無視してください。
ServletExceptionがフラグセットを残さないようにするには、サーブレットのエラー処理が必要になります。
概念的には、はい、しかし、クラスタ化されたインスタンスを扱うときは厄介なことがあります。最近のリクエストを追跡するためにdbを使用する方が簡単かもしれません。サーブレットレベルではなくビジネスロジックで要求を複製します。 – djna
エラーは実際には本当に重要です。
あなたは、スレッドの安全性の問題を持っている可能性がありますが、あなたはまた、「競争条件」を持つことができる、つまり、プロセスの結果は、実行順序に依存し、そのうちの一つは、あなたにエラーを与えることができます。
- 1. のJava Web開発:別のサーブレットから転送制御要求オブジェクト
- 2. Ktor 0.9.0サーブレットでのCookieライフサイクルの制御
- 3. 複数の要求
- 4. UWPナビゲーション(Template10)、ピボット制御、複数のフレーム
- 5. 制御する複数のUIファイルが
- 6. drupal7での複数ドメインユーザーログインアクセス制御
- 7. 複数のキャンバスアニメーションを制御する
- 8. MarkLogicカスタムレストエンドポイントセットアクセス制御 - 許可 - プリフライト要求の起点
- 9. ユニティWebGLのWeb要求エラーアクセス制御 - 許可 - 起源
- 10. 要求のキャッシュ制御HTTPヘッダーはなぜですか?
- 11. HTTP要求を使用したBokehプロット状態の制御
- 12. 複数のサーブレット
- 13. SQL複数の要求
- 14. OkHttp3複数の要求タグ
- 15. PHP複数のポスト要求
- 16. Forward Javaの.htmlファイルへのサーブレット要求?
- 17. 制御する複数cc2541モジュール
- 18. ggplot2 - 制御線種際に複数行
- 19. Ajax +サーブレットGET要求の問題
- 20. どのように要求サーブレット
- 21. 角2とHTTP要求と応答を制御する
- 22. 「アクセス制御が許起源」ヘッダが要求されたリソース
- 23. $ .ajax() - アクセス制御要求ヘッダーで画像を取得する
- 24. アクセス制御 - ウェブAPIを使用したオリジン要求
- 25. htaccessで要求を制御する方法
- 26. 要求ヘッダーフィールドアクセス制御ヘッダーエラーで許可されていないエラー
- 27. javascriptからサーブレットへの値渡しと制御
- 28. アクセス制御サーブレットでの起点を許可する
- 29. アクセス制御許可ヘッダーでAngularJS要求アクセス制御許可ヘッダーが許可されていない
- 30. 複数のget要求を要求するFetch API
私は、エラーの詳細があなたが修正しようとしているものを見るために重要だと思います。おそらくセッションに何らかの状態を保存することができます。 – Tommy