I-13-8. ServletとJSPによるWebアプリケーション開発

ServletとJSPによるWebアプリケーション開発の手順と内容について解説する。また開発プラットフォームとしてのTomcatやJBossといった代表的なOSSの実装を紹介する。

【学習の要点】

* Servlet、JSPはJavaで作られたWebアプリケーションである。

* TomcatやJBossなどはWebコンテナと呼ばれる、Webアプリケーションの実行環境である。

図I-13-8. ServletとJSPのサンプルコード

【解説】

1) ServletとJSP

ServletもJSPも、共にJavaで作られたユーザーからのテキスト入力やボタン入力に応じてWebページを生成して返すWebアプリケーションの一種である。その特徴は、次のとおりである。

* Servlet

Javaにより動的なページを返すプログラム。PerlやPythonで記述されるCGIと比べると、サーブレットはメモリに常駐し待機しているため動作が高速という優位性を持つ。

その動作の概要を以下に示す。

- クライアントからページのリクエストを受ける。

- Webページがサーブレットによって動的に生成される。

- 生成されたWebページがリクエストに対するレスポンスとして返される。

* JSP

JSPはHTMLの中にプログラムが書かれている。クライアントがJSPページをリクエストすると、WebコンテナがJSPからServletのコードを呼び出して実行する。明示的なコンパイルは不要。

その動作の概要を以下に示す。

- クライアントからJSPページのリクエストを受ける。

- JSPページの中のプログラムから、Servletを呼び出す。

- JSPページをコンパイルする。

- ユーザーにコンパイルしたページを返す。

2) 開発プラットフォーム

代表的なオープンソースの開発プラットフォームとして、以下のようなものがある。

* Apache Tomcat

http://tomcat.apache.org/

サーブレットの実行環境であるWebコンテナ。

* JBoss Application Server

http://labs.jboss.com/jbossas/

クライアントとバックエンドの間にあるアプリケーションサーバ。

* Jetty

http://jetty.mortbay.org/

Webサーバーでありサーブレットコンテナでもあるソフト。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。