サーブレット(Server Applet)とはJava Servletの略称で、スモールサービスプログラムまたはサービスコネクタと呼ばれ、Javaで書かれたサーバーサイドプログラムであり、プラットフォームやプロトコルに依存しない特徴を持っています。主な機能は、動的 Web コンテンツを生成するためのデータを対話的に参照および生成することです。
狭義には、サーブレットは Java 言語によって実装されたインターフェイスを指しますが、広義には、サーブレットはこのサーブレット インターフェイスを実装するクラスを指します。人々はサーブレットを後者として理解します。サーブレットは、Java 対応のアプリケーション サーバーで実行されます。原則として、サーブレットはあらゆる種類のリクエストに応答できますが、ほとんどの場合、サーブレットは HTTP プロトコルに基づいて Web サーバーを拡張するためにのみ使用されます。
最初にサーブレット標準をサポートしたのは JavaSoft の Java Web サーバーで、それ以来、他の Java ベースの Web サーバーも標準サーブレットをサポートし始めています。
サーブレットのライフ サイクル
サーブレットのライフ サイクルはサーブレット コンテナによって制御され、主に初期化、実行、破棄の 3 つの段階に分かれています。サーブレットコンテナはサーブレットをロードし、インスタンス化後、初期化のために init() メソッドを呼び出し、リクエストが到着したときに service() メソッドを実行し、対応するリクエストに従って doget または dopost メソッドを呼び出し、サーバーが起動すると destroy() メソッドを呼び出します。インスタンスを破棄することを決定します (サーブレットが占有しているリソースを解放します。つまり、データベース接続を閉じ、ファイルの入出力ストリームを閉じます)。ライフサイクル全体で、サーブレットの初期化と破棄は 1 回だけ発生し、その数はサービス メソッドが実行される回数は、クライアントがサーブレットにアクセスする回数によって異なります。
サーブレットの特徴
サーブレットは、マルチスレッドの単一インスタンスです。サーブレット オブジェクトを作成するだけですが、各リクエストはスレッドを開始し、それを独自のオブジェクトに保存します。スレッドスタックメモリサービスメソッドを実行します。
サーブレット インスタンスは、パラメーターなしのコンストラクターと init() メソッドを 1 回だけ実行し、最初のアクセス時に実行されます。
ユーザーが現在のサーブレットに対するリクエストを送信するたびに、service() メソッドが実行されます。
サーブレット インスタンスは、アプリケーションの停止時に destroy() メソッドを 1 回だけ実行します。
サーブレットは単一インスタンスでマルチスレッドであるため、スレッドの安全性を確保するために、サーブレット クラスで変更可能なメンバー変数を定義することは一般的に推奨されません。各スレッドがこのメンバー変数、スレッドを変更できるためです。安全上の問題が発生します。
デフォルトでは、Web コンテナの起動時にサーブレットはインスタンス化されません。
rree以上がサーブレットの概念とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。