Javaサーブレット 【Java Servlet】 Jakarta Servlet
概要
Javaサーブレット(Java Servlet)とは、Webサーバ上で動作するJavaプログラムの仕様を定めた標準の一つ。また、その仕様に基いて開発されたJavaプログラム。動的にWebページを生成するようなWebアプリケーションの構築に用いられる。Webブラウザなどからの要求に基いて起動され、閲覧者からの操作やデータ入力を受け付けてサーバ上で何らかの処理を行ったり、処理結果を反映したWebページを動的に生成してブラウザに送り返したりするJavaプログラムを開発することができる。
Javaサーブレットは特定のオペレーティングシステム(OS)やWebサーバ、ハードウェアの仕様には依存せず、「Java Servlet API」と呼ばれる標準化されたインターフェース仕様を実装したWebサーバソフトウェアならば原則としてどれでも同じように稼動させることができる。
Webサーバにおけるサーブレットの実行環境は「サーブレットコンテナ」(Servlet container)あるいは「Webコンテナ」(Web container)と呼ばれ、いわゆるWebアプリケーションサーバの機能の一部として提供されることが多い。
単純にWebサーバから外部のプログラムを起動するだけのCGIなどの同種の技術に比べ、プログラムをメモリ上に保持して繰り返し呼び出すことができ、性能や効率の面で優れている。同じ閲覧者の連続した操作を一連のものとして取り扱うセッション管理も容易である。
HTMLファイルの一部にJavaプログラムを埋め込んでサーバ上で実行する「JSP」(JavaServer Pages)という技術もあるが、これも内部的にはサーブレットを生成して実行している。JavaサーブレットやJSP、EJBなどサーバ側で動作するJava仕様を「サーバサイドJava」と総称する。
Javaサーブレットの最初の仕様は1997年にJava開発元の米サン・マイクロシステムズ(Sun Microsystems)社(現Oracle社)によってJava Web Serverの機能の一つとして提供された。後に独立した仕様となり、1999年からはサーバ向けのJavaの仕様を統合した「Java EE」(Java Enterprise Edition、当時はJ2EE)の機能の一つとして定義されている。現在は後継の「Jakarta EE」仕様の一部である。