サーブレット

読み:サーブレット
外語:Servlet
品詞:名詞

WebサーバのバックエンドにインストールされたJavaプログラム。Javaアプレットがクライアント側で動くのに対し、サーブレットはサーバ上で稼働する。

サーブレットが動作する環境をサーブレットコンテナと呼ぶ。

サーブレットコンテナはJavaVM(VM=仮想計算機)を内蔵しており、VM内にリクエストを処理するための空のスレッドをいくつも用意(スレッドプール)して待機している。

サーブレット実行の要求があると、サーブレットコンテナは、必要なクラスを(まだ未ロードなら)ロードして、空いているスレッドで実行する。実行が終わったクラスはそのままVM上にロードされたままなので、以降のリクエストに対しては、別のスレッドでロード済みのクラスを実行するだけでよく、高い反応速度が期待できる。

また、Javaの豊富なAPIを利用できることも利点である。

CGIと同様にURLのリクエストによりサーバ側でプログラムが実行され、動的にHTML文書を生成する。生成したHTML文書はWebサーバからリクエスト元に送信される。

動的Webアプリケーションのプラットフォームとして非常に効率の悪かったCGIに代わるものであり、ASPのようなアプリケーション提供や電子商取引(EC)の受発注業務などを実現する手段として注目されている。