JSFとは何か

2005年度 東京サテライト校
J2EE II
稚内北星学園大学
情報メディア学部
専任講師 安藤 友晴
1
本講義の目標

JSFを使って、「ラク
に」Webアプリケー
ションを作ろう!
2
本講義のスケジュール (1)

第1日 (4/10) JSFの初歩





JSF概説
MVCモデル2とJSF
JSPの作成
画面遷移
第2日 (4/24) Value Binding と Ant による開発



Ant
パラメータの受け渡し
コンバータとバリデータ
3
本講義のスケジュール (2)

第3日 (5/15) Action Method


Action Method の実装
FacesContext クラスの利用
4
単位の認定について

各回の最後にレポート課題を提示します。



レポートを評価して単位を認定
すべてのレポートの提出が必須
レポートはメールで提出
5
本講義のWebページ
http://www.wakhok.ac.jp/~tomoharu/j2ee2tokyo-2005/
6
JSF概説
J2EE II 第1回
2005年4月10日
7
JSFとは何か?
8
フレームワーク (1)


Webアプリケーションのような、パターン化された
プログラムを作成するときに使われるもの。
例えば、どんなWebアプリケーションでも、次のよ
うな処理をする必要がある。


フォームで入力されたパラメータの値を取得する。
ボタンが押されたら次の画面に移る。
9
フレームワーク (2)



フレームワークでは、こうしたパターン化された機
能があらかじめ用意されている。
プログラム開発者は、個々のプログラムに固有
の機能を追加すればよい。
決まったパターンをわざわざ書く必要がないので、
プログラム開発が楽になる。
10
JSF (JavaServer Faces) とは
何か


Webアプリケーションのユーザインタフェー
スを作成するためのフレームワーク
ツールでのWebアプリケーションの作成を
強く意識している技術
11
“EoD” という考え方




Ease of Development = 開発の容易性
「いかにラクにソフトウェアを開発するか」
一昨年くらいから多用されているコトバ
最近のJava技術はEoDの考え方を基本と
しているものが多い。

J2SE 5.0 (Tiger), JSF, EJB 3.0, …
12
「開発ツール」で
Webアプリケーションを開発

ボタンやテキストボックスを Drag & Drop
して Webアプリケーションを開発していく。
13
JSFは誰が作っているか (1)

Java Community Process (JCP)






Javaの標準技術を定める手続き
JSF は、 JCP の中の “JSR 127” で仕様を
策定
JSF は、Javaの標準フレームワーク
2004年3月に version 1.0 が正式リリース
2004年5月に version 1.1
2004年9月に version 1.1.01
14
JSFは誰が作っているか (2)

仕様策定の中心となっているのは、Craig
McClanahan


MVCモデル2 を用いたフレームワークである
Struts を作った人
Struts と重複する機能が多い
15
JSFで何ができるか

MVCモデル2 による Webアプリケーション
のフレームワークを用意



これまでStruts などが対応してきた部分
JSF は View と Controller を担当
「UIコンポーネント」でWebページを構成



ラベル、テキスト入力フィールド、ボタンなど
AWT/Swing で画面を構成するようなイメージ
イベント処理の概念
16
必要なファイルのダウンロード
17
JSFのアプリケーションを動かす


JSFはTomcat などの「Webコンテナ」の中
で動作する。
ソフトウェアのダウンロード




Tomcat
JSF
JSTL
Ant
18
JSF 1.1.01 のダウンロード

JSF のページからダウンロードして、zip
ファイルを開くだけ。


http://java.sun.com/j2ee/javaserverfaces/i
ndex.jsp
次のものが含まれている



必要なライブラリ
サンプルプログラム
各種ドキュメント
19
JSTL 1.1 のダウンロード



Tomcat で JSF を動かすには、JSTL (Java
Standard Tag Library) が必要になる。
バージョンは 1.1
とりあえずダウンロードしておく。
20
guessNumber
サンプルアプリケーション
21
どんなサンプルか?



Duke くんが思っている数を当てるゲーム。
0 ~ 10 までの数を入力する
当たりかはずれか表示
22
実行画面
23
実行方法



JSF 1.1.01 のアーカイブから samples/jsfguessNumber.war
を、%CATALINA_HOME%\webapps にコ
ピーする。
Tomcat を起動する
http://localhost:8080/jsf-guessNumber/
にアクセスする。
24
UIコンポーネントによる
画面構成

Webの画面はUIコ
ンポーネントから構
成される。
25
画面遷移

ボタンをク
リックしたら、
画面が遷移
する。
26
間違ったデータが入力
されたら?

数字を入れるべきと
ころを “wakhok” の
ような文字列を入力
したら、エラーメッ
セージが表示される。
27