ホームページ  >  記事  >  Java  >  サーブレットの概念とは何ですか?

サーブレットの概念とは何ですか?

藏色散人
藏色散人オリジナル
2019-05-11 13:16:136564ブラウズ

サーブレット(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 サイトの他の関連記事を参照してください。

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