サーブレット ライフ サイクルの 5 つの段階
1. ロード: サーブレット コンテナ (Tomcat) がサーブレット ファイル (.class) をロードします。クラスローダー経由)
2. 作成: サーブレット コンストラクターを呼び出してサーブレット オブジェクトを作成します
3. 初期化: init メソッドを呼び出して初期化します
4. 顧客の処理リクエスト: 顧客リクエストがあるたびに、コンテナは顧客リクエストを処理するスレッドを作成します
5. アンロード: destroy メソッドを呼び出して、サーブレットが占有しているリソースを解放できるようにします
サーブレット コンテナは、サーブレット クラスをロードし、サーブレット オブジェクトを作成してインスタンス化し、サーブレットの init メソッドを呼び出して初期化してから、Service メソッドを呼び出します。インスタンス化と初期化は異なります。最初にインスタンス化してから初期化します。
ServletConfig と ServletContext
Jsp/サーブレット コンテナがサーブレット タイプのオブジェクトを初期化すると、サーブレット オブジェクトの ServletConfig オブジェクトが作成されます。 ServletConfig オブジェクトには、サーブレット初期化パラメータ情報が含まれています。
ServletContext は、サーブレットとサーブレット コンテナ間の直接通信のためのインターフェイスです。サーブレット コンテナが Web アプリケーションを開始すると、そのための ServletContext オブジェクト、つまりサーブレット コンテキスト環境が作成されます。各 Web アプリには固有の ServletContext オブジェクトがあります。同じ Web アプリ内のすべてのサーブレット オブジェクトは ServletContext を共有し、サーブレット オブジェクトは ServletContext を通じてコンテナ内のさまざまなリソースにアクセスできます。
スコープの観点から見ると、 ServletConfig は特定の Servlet で動作します。つまり、ServletConfig は Servlet からインスタンス化されたときに有効になりますが、その Servlet 以外の他の Servlet はアクセスできません。ServletContext は特定の webapp で動作します。これは同等です。 Web アプリケーションのグローバル オブジェクトに追加され、サーブレット コンテナの起動時にロードされます。Web アプリケーションごとに、異なる ServletContext が存在します。
推奨チュートリアル: 「Java チュートリアル 」
以上がサーブレットのライフサイクル 5 段階の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。