|
サーブレットとは何でしょうか?
テンアートニ 中越智哉
2000/12/20
|
|
サーブレット(以下Servlet)、という名前を聞いて、それ自体は聞いたことがなくても、似たような名前を思い出される方は多いのではないでしょうか。「〜let」という名前で有名なものに、Appletがあります。Appletは、主にWebブラウザ上でJavaのプログラムを動作させるための仕組みで、いわばクライアントサイドでのJava実行形態の1つと考えることができます。それに対し、Servletは、主にWebサーバと連携してJavaのプログラムを動作させるための仕組みで、サーバサイドでのJava実行形態の1つと考えることができるものです。
もちろん、サーバ側でJavaを動作させるだけなら、通常のJava Applicationを動作させてもよいわけですが、Servletは、主にWebアプリケーションでの使用を想定し、Webサーバと連携してクライアントと情報のやりとりを行いながら、処理を行っていくのが特徴です(単に、Servletといった場合は、クライアントになりうるものはいろいろあるのですが、ここでは、簡単のためにクライアントをWebブラウザに限定して話を進めていきます)。
通常、Web上のページは、Webサーバ上のファイルとして格納されており、クライアントからのリクエストに応じて、Webサーバが指定されたファイルの内容をクライアントに送信することで、ページが表示されるようになっています。Webサーバだけでページを提供している場合、その内容は固定された静的なもので、どのクライアントに対しても同じ内容しか提供できません。
しかし、Webの利用が時代とともに進むにつれて、静的な内容の提供だけでなく、クライアントごとに異なる内容(サービス)を提供したいという要求が出てくるようになりました。例えば、サーチエンジンのようなページでは、クライアントが検索したいキーワードを入力することで、その入力内容に応じた検索結果を表示する必要があります。そのためには、入力された内容をサーバ側で解析し、その内容に応じた処理を行い、その処理結果をクライアントに送信できる仕組みが必要です。
そういった処理は、Webサーバだけでは提供できませんので、Webサーバの代わりにそういった処理を行ってくれるソフトが必要になります。そのための仕組みの1つがJava
Servletなのです。
[関連記事]
サーブレットとJSPの連携 (@IT
Java Solution)