特集:いま、知っておくべきJavaテクノロジー 2004dev Java(4/6 ページ)

» 2004年09月17日 21時20分 公開
[阿島哲夫,ITmedia]

Webアプリケーション開発へのステップServlet、JSP

 多くのJ2EEアプリケーションは「Webアプリケーション」である。Webアプリケーションとは、クライアントがWebインタフェースを持つアプリケーションを指す

 クライアントはPCやケータイに搭載されているWebブラウザの場合が多い(最近は、Webサービス対応クライアントも増えてきている)。

 昨今のWebアプリケーションではフレームワークの採用が盛んである(詳細を後述、後編にて)。しかし、多くのフレームワークは「動作の仕組みを知らなくても、なんとか動くものが作成できてしまう」という域まで達していない。完全にブラックボックス化できていないのが実情だ。

 これは、もっとも普及しているOSSのWebアプリケーションフレームワークソフトである「Struts」にもあてはまる。つまり、フレームワークをきちんと使いこなすには、フレームワーク内部に存在する「Servlet」や「JSP」といったコンポーネントがどのように動作するのかをある程度把握する必要があるのだ。

 また、Servlet、JSP、JavaBeansといったJ2EEコンポーネントは単体で動作することができない。「コンテナ」と呼ばれる実行環境が必要だ。コンテナもまた、Javaで実装されたソフトウェアだ。ServletやJSP、EJBを動かすには、Servletコンテナ、JSPコンテナ、EJBコンテナ等を実装したアプリケーションサーバ製品を用意する必要がある(表3)。

表3■主なアプリケーションサーバソフト
製 品 名 ベンダー名 内  容
Apache Jakarta Tomcat Apache Jakarta Project Servletコンテナ、JSPコンテナのリファレンス実装。EJBコンテナは実装していない。オープンソース。(関連特集
JBoss JBoss.org オープンソースでEJBコンテナを実装。(関連特集
Cosminexus 日立製作所 J2EE完全準拠の商用ソフトウェア。(関連特集
Borland Enterprise Server ボーランド J2EE完全準拠の商用ソフトウェア。(関連特集
WebSphere Application Server 日本アイ・ビー・エム J2EE完全準拠の商用ソフトウェア。(関連特集
BEA WebLogic Server 日本BEAシステムズ J2EE完全準拠の商用ソフトウェア。(関連特集
Sun JavaSystem Application Server サン・マイクロシステムズ J2EE完全準拠の商用ソフトウェア。(関連特集
Oracle Application Server 日本オラクル J2EE完全準拠の商用ソフトウェア。

Webアプリ開発はServletから入っていくのがよい

 Webアプリケーションの開発は、Servlet(サーブレット)から入るのがよいだろう。

 Servletとは、WebブラウザからのHTTPリクエストを受け取り、Javaプログラムによって処理を行う結果をHTTPレスポンスという形でブラウザへ返すことのできるコンポーネントだ図2)。

図2■Servletのやり取り

 Servletは、ソースコードの作成、コンパイル、デプロイという手順を経て、はじめて動作可能になる。このうち、デプロイという手順はJ2EEアプリケーション特有のものだ。

 この段階で、次に挙げる特集を参考にして実装およびデプロイの方法を正しく身につけておきたい

関連記事
特集「Tomcatで知るJSP/サーブレットの基礎」
特集「WebLogicで知るJSP/Servlet入門」

HTMLタグの延長でJSPに関わっていく

 Servletを理解したら次はJSPだ。JSPは、HTMLベースのソースにJavaのプログラムを埋め込むスタイルで作成する。PHP(※2)やASP(※3)に似た記述で実装するコンポーネントである。

 Servletを使わずに、JSPのみでPHPやASPライクにWebアプリケーションを作成することは可能だ。JSPは、内部的にはServletのソースコードに変換、コンパイルされ、Servletとして動作している。Servletで可能なことはJSPでもほぼ実現できるからだ。

図3■JSPのやり取り

 しかし、本格的なJ2EEアプリケーション開発を行うのなら早い段階からJSPをServletと組み合わせて使うことを覚えたい図3)。

関連記事
特集「JSPプログラミング入門」

 また、JSPにはタグを自作できる「カスタムタグ」という技術がある。カスタムタグの開発は少々難度が高いため、Webアプリケーションの基本を修得してから取り組んでも遅くはないだろう。

※2 PHP

 動的にHTMLコンテンツを生成するための言語。HTMLベースのソースに独自のスクリプトを埋め込んで作成する。開発者が自分でコンパイルする必要がないので、書いてすぐに動作させることができ、HTMLベースのソースなので理解しやすい。オープンソースであるため、誰でも無償で利用できる。現在はApache Sofrware Foundationで管理されている。

関連記事
特集「WebプログラミングPHP言語入門」

※3 ASP

 動的にHTMLコンテンツを生成するための言語。HTMLベースのソースにVisual Basicのスクリプトを埋め込んで作成する。Microsoft社が開発した技術で、マイクロソフトのWeb(HTTP)サーバソフトである、Internet Information Server(IIS)上で動作する。

関連記事
特集:スタートアップ.NET――基礎から始める.NET

Copyright © ITmedia, Inc. All Rights Reserved.