ここで、見た目や機能がほぼ同一のアプリケーションをStrutsとJSFで作成して、それぞれどのようなコンポーネントを、どのように作成するのかを見てみよう。
Strutsアプリケーション、JSFアプリケーションの実行に必要な環境は表1の通りだ。Strutsのほうが少し古い環境にも対応している。
表1■実行に必要な環境
|
アプリケーションは、テキストボックスと送信ボタンのみのシンプルな入力フォームがある画面と入力された値を表示するのみの画面、2つの構成だ。
↓
↓
それぞれ作成するコンポーネントは、次に挙げる表2の通りだ。
表2■作成するコンポーネント
|
welcome_struts.zip がStrutsアプリケーションのサンプルであり、welcome_jsf.zip がJSFアプリケーションのサンプルだ。サンプルアプリケーションはどちらも、Java2 SDK Standard Edition 1.4.2_06、Tomcat 5.0.28という環境で作成している。
welcome_struts.zip ダウンロード(約1.4Mバイト)また、両サンプルともEclipseプロジェクト(Eclipse3.0.1とSysdeo Tomcat Launchar Pluginを使用)として作成してあるため、Eclipseのワークスペースへインポート可能だ(※5)。
Strutsのバージョンは1.2.4だ。JSFは、Sun MicrosystemsのReference Implementationバージョン1.1.01、およびJakarta Taglibs Standard Tag Library 1.1.2(※6)を使用している。サンプルアプリケーションを実行するには、Tomcatを起動して、ブラウザから以下のアドレスへアクセスすればよい。
http://localhost:8080/welcome_struts/index.jsp(Strutsアプリケーションのサンプル)
http://localhost:8080/welcome_jsf/faces/index.jsp(JSFアプリケーションのサンプル)
また、Antを使用できる環境であればEclipseを使わずにAntでビルド、デプロイすることも可能だ。手順は以下の通りだ。
1. サンプルアプリケーションを解凍したディレクトリにあるbuild.propertiesファイルを読み込み、catalina.homeの値がTomcatインストールディレクトリに正しく設定されていることを確認する。
2. コマンドプロンプトを開き、サンプルアプリケーションを解凍したディレクトリに移動する。
3. antと入力すると、ビルドおよびサーバ上へデプロイされる。
※5 プロパティファイルについて
どちらのサンプルも、ソースパッケージツリーのresourcesパッケージにapplication.propertiesというプロパティファイルがある。
プロパティファイルは、日本語などのマルチバイト文字はユニコードエスケープする必要があるが、Eclipseではユニコードエスケープ処理を行うプラグインなどを使っていない場合には、Eclise上からAntを実行してほしい。
その際に、ターゲットは"compile"を指定する。compliターゲットにはユニコードエスケープ処理が含まれている。デフォルトのターゲットは"deploy"だが、deployを指定すると、Tomcat/webappsディレクトリにアプリケーションのファイルがコピーされる。Eclipse + Tomcat Launcher Plugin環境ではTomcat/webappsディレクトリへのファイルコピーは不要だ。
※6 Jakarta Taglibs Standard Tag Library。JCPで定められているJSTL(Java Standard Tag Library)仕様のJakarta Projectによる実装。
Strtusアプリケーション、JSFアプリケーション、それぞれの処理の流れは次ページに挙げる図1、図2のようになる。
Copyright © ITmedia, Inc. All Rights Reserved.