各HTTP要求は同じサーブレットオブジェクトにアクセスしますが、別のスレッドにアクセスしますか?または新しいスレッドと新しいサーブレットインスタンスを作成しますか?各リクエストは同じサーブレット・オブジェクトにアクセスしますか?
答えて
サーブレットがSingleThreadModel
を実装していない場合、コンテナは同じサーブレットインスタンスを使用します。 それ以外の場合、同じServlet
オブジェクトにヒットしたという保証はありません。必要であれば、コンテナはより多くのサーブレット・インスタンスを作成できます。しかし、要求は別々のスレッドで発生し、必ずしも新たに作成されるわけではありません(Sanjayが述べたように)。
サーブレット3.0仕様から:分散環境(デフォルト)でホストされていないサーブレットの
、サーブレット コンテナはサーブレット宣言ごとに1つのインスタンスのみを使用する必要があります。しかしながら、サーブレット がSingleThreadModelインタフェースを実装する場合、サーブレットコンテナは、 複数のインスタンスをインスタンス化して、重い要求の負荷を処理し、要求 を特定のインスタンスにシリアライズすることがあります。
...
一般的にWebコンテナは、異なるスレッド上のサービスメソッドの 同時実行することにより、同じサーブレットに同時要求を処理します。
各HTTP要求は新しいスレッドを作成しますが、サーブレットの同じインスタンスにアクセスします。
EDIT:1つのサーバーノードの場合、そのノードで同じサーブレットインスタンスが使用されます。ロードバランシング/多数のサーバの場合、通常、Java VMごとに1つのインスタンスがあります。
私はそれが本当に*常に新しいスレッドを作成*します。より多くのものは、既存のスレッドプールから空きスレッドを取得します。 –
@ SanjayT.Sharmaそうです(パフォーマンス上の理由から)これはしばしばこのように行われますが、これはアプリケーションサーバー/サーブレットコンテナの実装の詳細であり、コードはそれに依存してはなりません –
- 1. リクエスト中に同じオブジェクトにアクセス/使用する - asp.net
- 2. PHP DOMは同じ属性のオブジェクトにアクセスします
- 3. 同じクラスの各オブジェクトのカスタム配列
- 4. JPA:EntityManager.find()は常に同じキーの同じオブジェクト参照を返しますか?
- 5. サーブレットはヘッダーとコンテンツをミックスし、同じ出力を同じ出力に書き込みますか?
- 6. 複数のサーブレットを同じデータソース(JNDI)にバインドできますか?
- 7. アクセスJavaScriptは、同じオブジェクト内のリテラル値をオブジェクト
- 8. プライベート変数は、同じタイプの別のオブジェクトからアクセスできますか?
- 9. サーブレットが同じJSPページの複数のリクエストを処理する方法
- 10. 同じDataContextオブジェクトを介して同時に複数のテーブルにアクセスできますか?
- 11. SQLクエリは各列で同じ値を返します
- 12. nullをコピーし、空でないフィールドを同じタイプの別のオブジェクト(オブジェクトは同じタイプ)にコピーします
- 13. アクセス同じクラス
- 14. "NSString stringWithFormat:" - 同じパラメータに複数回アクセスしますか?
- 15. Blender Pythonは同じグループ内のオブジェクトを選択しますか?
- 16. 同じHTMLページの複数のサーブレット
- 17. Node.js JSP /サーブレット用のフォームデータパーサーと同じConnect.bodyParser
- 18. 同じサーブレットのURLパターンが多い
- 19. JSONオブジェクトをPHPからjavascriptに同じスクリプトで渡します
- 20. javascript配列にオブジェクトを追加し、後で同じ.jsファイルにアクセスする
- 21. リクエスト同じHttpWebRequestのOBJ
- 22. 複数の同じWebリクエスト
- 23. AJAXからRailsへのリクエストは、ターゲットコントローラのアクションは、ブラウザにアクセスした場合と同じセッションにアクセスできますか?
- 24. HTTPリクエストでサーブレットの「サービス」機能にアクセスできない
- 25. 各デバイスモードの編集は、同じクラスの別のコントローラインスタンスを追加しますか?
- 26. サーブレットからJSPセッションにアクセス
- 27. Apache Tomcatは同じ起動時のロードでサーブレットを実行します
- 28. オブジェクトのArrayListを作成すると、各要素が同じになる
- 29. 異なるウィンドウ(またはセッション)から同じサーブレットを呼び出す
- 30. ASP.NET MVC:Html.AntiForgeryTokenは、各ページのロード時に同じトークンを返します
リクエストに応じてサーブレットをインスタンス化しないのはなぜですか? –
[サーブレットはどのように動作しますか?インスタンス化、セッション変数、マルチスレッド](0120)を参照してください。 – BalusC