Servlet はじめに

Servlet とは?

Java Servlet は、Web サーバーまたはアプリケーションサーバー上で動作するプログラムであり、Web ブラウザや他の HTTP クライアントからのリクエストと、HTTP サーバー上のデータベースまたはアプリケーションとの間の中間層として機能します。

Servlet を使用すると、Web ページのフォームからユーザー入力を収集し、データベースや他のソースからのレコードを表示し、動的に Web ページを作成することもできます。

Java Servlet は通常、CGI(Common Gateway Interface、共通ゲートウェイインターフェース)を使用して実装されたプログラムと同様の効果を達成できます。しかし、CGI と比較して、Servlet には以下の利点があります。

  • パフォーマンスが明らかに優れています。
  • Servlet は Web サーバーのアドレス空間内で実行されます。そのため、各クライアントリクエストを処理するために個別のプロセスを作成する必要はありません。
  • Servlet は Java で記述されているため、プラットフォームに依存しません。
  • サーバー上の Java セキュリティマネージャーは、サーバーコンピュータ上のリソースを保護するための一連の制限を実行します。したがって、Servlet は信頼できます。
  • Java クラスライブラリの全機能は Servlet で利用可能です。Socket や RMI メカニズムを通じて、アプレット、データベース、その他のソフトウェアと対話できます。

Servlet アーキテクチャ

次の図は、Web アプリケーションにおける Servlet の位置を示しています。

Servlet 架构

Servlet のタスク

Servlet は次の主要なタスクを実行します。

  • クライアント(ブラウザ)から送信された明示的なデータを読み取ります。これには、Web ページ上の HTML フォーム、またはアプレットやカスタム HTTP クライアントプログラムからのフォームも含まれます。
  • クライアント(ブラウザ)から送信された暗黙的な HTTP リクエストデータを読み取ります。これには、Cookie、メディアタイプ、ブラウザが理解できる圧縮形式などが含まれます。
  • データを処理して結果を生成します。このプロセスでは、データベースへのアクセス、RMI や CORBA 呼び出しの実行、Web サービスの呼び出し、または直接計算して対応するレスポンスを生成する必要がある場合があります。
  • 明示的なデータ(つまりドキュメント)をクライアント(ブラウザ)に送信します。このドキュメントの形式は多岐にわたり、テキストファイル(HTML または XML)、バイナリファイル(GIF 画像)、Excel などがあります。
  • 暗黙的な HTTP レスポンスをクライアント(ブラウザ)に送信します。これには、返されるドキュメントのタイプ(例:HTML)をブラウザや他のクライアントに伝えること、Cookie やキャッシュパラメータの設定、その他の類似したタスクが含まれます。

Servlet パッケージ

Java Servlet は、Java Servlet 仕様をサポートするインタプリタを備えた Web サーバー上で動作する Java クラスです。

Servlet は、次のパッケージをjavax.servletとjavax.servlet.http使用して作成できます。これは Java エンタープライズ版の標準構成要素であり、Java エンタープライズ版は大規模な開発プロジェクトをサポートする Java クラスライブラリの拡張版です。

これらのクラスは Java Servlet および JSP 仕様を実装しています。本チュートリアル執筆時点では、それぞれのバージョンは Java Servlet 2.5 と JSP 2.1 です。

Java Servlet は、他の Java クラスと同様に作成およびコンパイルされます。Servlet パッケージをインストールしてコンピュータの Classpath(クラスパス)に追加した後、JDK の Java コンパイラまたは他のコンパイラを使用して Servlet をコンパイルできます。

次のステップは?

次に、このチュートリアルでは、Servlet 環境を段階的に設定し、その後の Servlet の使用を開始できるようにします。それでは、シートベルトを締めて、一緒に Servlet の学習の旅を始めましょう!きっとこのチュートリアルを気に入っていただけるでしょう。

その他の拡張