サーブレットのライフサイクルは、サーブレットの作成から破棄までのプロセスを表し、初期化段階、顧客要求への応答段階、終了段階、ガベージコレクション段階の 4 つの段階に分かれています。サーブレットのライフサイクルとは、サーブレットの作成から破棄までの全プロセスを指しますが、このプロセスについては次回記事で詳しく紹介しますので、一定の参考効果があり、皆様のお役に立てれば幸いです。
#【推奨チュートリアル:
サーブレット チュートリアル】 サーブレットのライフ サイクル
#サーブレット プログラムはサーバー側で実行される Java プログラムであり、ライフ サイクルは Web コンテナによって制御されます。サーブレットの誕生から消滅までのプロセスは、以下の 4 つの段階に分かれます。 (1) 構築メソッド: このメソッドはサーブレット オブジェクトの作成時にのみ呼び出され、一度だけ呼び出されます。目的は、サーブレット オブジェクトが Tomcat サーバー内の単一インスタンスであることを証明することです。
(2) init メソッド: 初期化フェーズで使用されます。つまり、サーブレット オブジェクトの作成後に呼び出され、一度だけ呼び出されます。 。
(3) サービスメソッド: 顧客のリクエストに応答するフェーズで使用されます。つまり、サーブレットがリクエストされるたびに呼び出され、n 回呼び出されます。
(4) destroy メソッド: 終了フェーズ中に呼び出されます。つまり、サーブレット オブジェクトが破棄されるときに呼び出されます。電話は一度だけです。
#init メソッドは、Tomcat サーバーが停止するか、Web アプリケーションが再デプロイされるときに呼び出されます。サーブレットのライフサイクル全体を通じて、init() メソッドは 1 回だけ実行されます。初期化フェーズには、データベース接続の確立、ソース ファイル情報の読み取りなどが含まれます。初期化フェーズが失敗した場合、サーブレットは直接アンインストールされます (直接破棄されるのではなく、直接アンインストールされることに注意してください)。
顧客リクエストへの応答フェーズ
リクエストが送信されると、サーブレットは処理のために service() メソッドを呼び出します。 service() メソッドはサーブレットの中核であり、このメソッドは複数回呼び出すことができ、そのたびに呼び出し用のスレッドが作成されます。サービスメソッドについては、HttpServlet で実装されているため、通常は書き換える必要はなく、リクエストメソッドに応じて doGet/doPost が呼び出され、リダイレクトにサービスが使用されることになるため、通常はサーブレットとdoGet または doPost を書き換えるだけで済みます。
WEB コンテナが閉じられるか、コンテナからサーブレットが削除されることが検出されると、 destroy() メソッドはインスタンスを解放するために自動的に呼び出され、リソースが占有されます。 destroy() メソッドは 1 回しか呼び出せないことに注意してください。通常、サーブレット コンテナを停止して再起動するとサーブレット オブジェクトが破棄されますが、プロジェクトを再デプロイするとサーブレット オブジェクトが破棄され、destroy メソッドが呼び出されます。
ガベージ コレクション
以上がサーブレットのライフサイクルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。