ホームページ  >  記事  >  Java  >  サーブレットのライフサイクルとは何ですか

サーブレットのライフサイクルとは何ですか

清浅
清浅オリジナル
2019-04-29 10:04:078190ブラウズ

サーブレットのライフサイクルは、サーブレットの作成から破棄までのプロセスを表し、初期化段階、顧客要求への応答段階、終了段階、ガベージコレクション段階の 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 メソッドが呼び出されます。

ガベージ コレクション

破壊後、インスタンスはガベージ コレクターによるリサイクルを待ちます。このサーブレットがリサイクルされる前に再度使用されると、 init() メソッドの初期化

要約: 上記がこの記事の全内容です。皆様のお役に立てれば幸いです。

以上がサーブレットのライフサイクルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。