Java サーブレットの使用

Java サーブレットは、Web サーバへのカスタム機能の追加を可能にする、Java 言語で書かれたサーバサイドコンポーネントです。サーブレットは Web サーバで動作し、パフォーマンス、データベース接続性、安定性、およびセキュリティの面で高い機能を備えています。

特定の Web サーバの実装のために C++ や Perl で書かれることの多い CGI スクリプトと違い、サーブレットは Java で書かれるため、「Write Once, Run Anywhere (一度記述すればどこででも実行可能)」という Java の利点をはじめ、Java プログラミング言語のすべての利点を活用できます。

サーブレットは HTTP のリクエスト/レスポンスプロトコルをサポートしているため、Web ベースのアプリケーションには特に適しています。次の図は、Java サーブレットの基本的な処理モデルを示しています。

この図は、サーブレットの基本的な処理モデルを示しています。

この図に示すように、HTTP リクエストを受け取ると、Web サーバはそのリクエストがサーブレットを参照しているかどうかを判別し、適切なサーブレットを起動するサーブレットエンジンに転送します。サーブレットはリクエストを処理し、Web サーバがクライアントに転送するレスポンスを返します。

サーブレットを使用すると、特定の Web サーバを実装するための複雑な処理や、プラットフォーム固有の動作にわずらわされることなく、最新のアプリケーションを作成できます。サーブレット API では、HTML、フォームデータ、リクエストヘッダー、Cookie などの Web アプリケーションの構成要素がサポートされています。

サーブレットの呼び出し

クライアントは URL を Web リソースとして参照し、サーブレットを呼び出します。URL がサーブレットを参照することは、Web クライアントからはわかりません。

通常、クライアントは次のいずれかの方法でサーブレットを呼び出します。

サーブレットの利点

サーブレットには、従来のサーバサイドアプリケーション開発テクノロジーと比較すると、Web 開発者にとって多数の利点があります。その中には、Java プログラミング言語に関するものもあれば、サーブレットテクノロジーに関するものもあります。このセクションでは、サーブレットと Java を使用する場合のいくつかの利点について説明します。

サーブレットを使用した場合の利点

サーブレットテクノロジーを使用した場合、Web 開発者には次のような利点があります。

Java を使用する利点

サーブレットの最も重要な利点は、サーブレットの結果が Java プログラミング言語で実装される点です。サーブレットは、Java 本来の移植性を活用するため、すべての Web サーバ、および JRun でサポートされているサーバプラットフォームで実行できます。

Java には、アプリケーションプログラマにとって、次のような多数の利点があります。

サーブレットは Java または JSP を使用して開発するため、Java プログラミング言語のその他の利点も付加されます。

サーブレットの作成

JRun には、サーブレットを作成するための 2 つの方法があります。1 つは Java プログラムを作成する方法で、もう 1 つは JSP を作成する方法です。Java プログラムを作成すると、Java のデータ処理機能と利点を十分に活用できます。通常は、Java を使用して、データベースのアクセスなどの複雑なデータ操作を実行するサーブレットを作成します。

また、HTML とスクリプトコードを組み合わせたサーバサイドのスクリプトの JSP からもサーブレットを作成できます。JSP ページには、Java プログラミング言語の特性を十分に活用できる機能がありますが、HTML コードに Java コードを組み込むには、簡単なメカニズムを使用します。それらは、クライアントのブラウザに直接返される HTML を生成するサーブレットの実装によく使用されます。

サーブレットを作成する 2 つの方法は、いずれもこのマニュアルで説明しています。

JRun によるサーブレットのサポート

JRun を使用してサーブレットを処理する主な理由の 1 つとして、すべての Web サーバにサーブレット機能が実装されているわけではないことが挙げられます。JRun により、Web サーバはサーブレットを処理できるように拡張されます。

Web サーバにサーブレットの実行機能があったとしても、実装されているサーブレット標準が、そのサーバやサーバのホストとなるハードウェアプラットフォームに限定されている場合があります。JRun は、完全に移植性のあるサーブレットソリューションを提供します。JRun を使用して書かれたサーブレットであれば、JRun を使用しているどの Web サーバでも使用できます。つまり、J2EE サーブレット標準をサポートしていればどの Web サーバでも使用できます。JRun は、Java サーブレット 2.3 の仕様をサポートしています。この仕様では、サーブレットイベントリスナおよびフィルタという 2 つの重要な機能を採用しています。

JRun には、既存の Web サーバにアクセスできなくても、サーブレットの開発を始められるように、すぐに使用できる Java Web サーバが用意されています。このビルトイン JRun Web サーバを使用して、サーブレットの作成、テスト、デバッグを行ってから、互換性が保証されている実際の運用サーバにデプロイできます。

JRun による JSP のサポート

JRun による JSP のサポートには、Java Web サーバによって定義されたページコンパイルのすべての機能と現在の JSP 1.2 仕様が含まれています。JRun では次の機能を提供します。

JSP 1.2 の仕様書には次の機能が追加されています。

詳細については、『JRun プログラマーガイド』を参照してください。