各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. Map httpリクエストはAngular2オブジェクトにアクセスし、外部からアクセスします
- 5. サーブレットはヘッダーとコンテンツをミックスし、同じ出力を同じ出力に書き込みますか?
- 6. JPA:EntityManager.find()は常に同じキーの同じオブジェクト参照を返しますか?
- 7. 複数のサーブレットを同じデータソース(JNDI)にバインドできますか?
- 8. リクエストparemetersは、サーブレット
- 9. JavaScript - 配列内の同じ名前の各オブジェクトを印刷しますか?
- 10. 複数のExcel VBAルーチンが同じオブジェクトにアクセスしていますか?
- 11. すべてのリクエストに同じオブジェクトを共有できますか?
- 12. apply()は同じオブジェクトを返します
- 13. .getScanResults()は同じオブジェクトを返します
- 14. 同じセッションからの複数のリクエストは、常に同じサーバーに着信しますか?
- 15. プライベート変数は、同じタイプの別のオブジェクトからアクセスできますか?
- 16. アクセスJavaScriptは、同じオブジェクト内のリテラル値をオブジェクト
- 17. 各リクエストのApiControllerのオブジェクトASP.NET
- 18. サーブレットが同じJSPページの複数のリクエストを処理する方法
- 19. GETとPOSTリクエストは、Laravel 5.4の同じコントローラにルーティングします。
- 20. あるサーブレットに値を設定し、別のサーブレットからアクセスします
- 21. 異なるスレッドが同じオブジェクトの異なる独立したメソッドに同時にアクセスできますか?
- 22. 同じDataContextオブジェクトを介して同時に複数のテーブルにアクセスできますか?
- 23. WebAPIリクエストで404エラーが発生しました...同じリクエストで
- 24. nullをコピーし、空でないフィールドを同じタイプの別のオブジェクト(オブジェクトは同じタイプ)にコピーします
- 25. SQLクエリは各列で同じ値を返します
- 26. サーブレットからJSPセッションにアクセス
- 27. "NSString stringWithFormat:" - 同じパラメータに複数回アクセスしますか?
- 28. 同じステートメント内の2つのテーブルにアクセスしますか?
- 29. 同じHTMLページの複数のサーブレット
- 30. 同じサーブレットのURLパターンが多い
リクエストに応じてサーブレットをインスタンス化しないのはなぜですか? –
[サーブレットはどのように動作しますか?インスタンス化、セッション変数、マルチスレッド](0120)を参照してください。 – BalusC