ホームページ >よくある問題 >サーブレットのライフサイクルを理解する方法

サーブレットのライフサイクルを理解する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-11-02 11:52:2037259ブラウズ

サーブレットのライフ サイクル: 1. 初期化フェーズで、サーブレット コンテナはサーブレット インスタンスを作成し、[init()] メソッドを呼び出します; 2. クライアント リクエストの処理フェーズでは、クライアント リクエストが実行されるたびに、受信すると、サーバーは処理用の新しいスレッドを生成します; 3. 終了フェーズでは、destroy メソッドを呼び出して終了します。

サーブレットのライフサイクルを理解する方法

#サーブレットのライフ サイクル:

1. サーブレットのライフ サイクル

主なメソッドは 3 つあります:

  • init() 初期化フェーズ

  • ##service() クライアント要求の処理フェーズ
  • destroy() 終了フェーズ
#初期化フェーズ:

サーブレット コンテナはサーブレットをロードします。ロードが完了すると、サーブレット コンテナはサーブレット インスタンスを作成し、init() メソッドを呼び出します。init() メソッドは 1 回だけ呼び出されます。

サーブレット コンテナは、次の状況でサーブレットをロードします:

サーブレット コンテナは、開始時に一部のサーブレットを自動的に読み込みます。これを実現するには、Web に 1 を追加する必要があります。

##クライアント リクエストの処理フェーズ:

クライアント リクエストが実行されるたびに、受信すると、サーバーはそれを処理するための新しいスレッドを生成します。

ユーザーのサーブレット リクエストに対して、サーブレット コンテナはリクエスト固有の ServletRequest および ServletResponse を作成します。

Tomcat の場合、渡されたパラメータを HashTable に配置します。これは String->String[] のキーと値のマッピングです。

終了フェーズ:

Web アプリケーションが終了するか、サーブレット コンテナが終了するか、サーブレットが新しいサーブレット インスタンスをリロードすると、サーブレット コンテナはサーブレットの destroy() メソッドを呼び出します。

2 、作業サーブレットの原理

クライアントはリクエストを送信し、サーブレットはリクエストに応答するために service() メソッドを呼び出します。service() メソッドはリクエストされたメソッドと一致し、対応するロジック層に入り、リクエストとレスポンスを完了します。

ただし、Servlet インターフェースや GenericServlet インターフェースには doGet()、doPost() などのメソッドがありません。これらは HttpServlet で定義されていますが、すべての Error 情報が返されるため、これらのメソッドは毎回書き換える必要があります。サーブレットが定義されています。

Servlet と GenericServlet はどのプロトコルにも固有ではありませんが、HttpServlet は Http プロトコルに固有であるため、HttpServlet の service() メソッドは ServletRequest と ServletResponse を HttpRequest と HttpResponse に強制し、最後に独自のサービス メソッドを呼び出します。応答を完了します。

関連する無料のおすすめ:

プログラミング ビデオ コース

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

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