JSFとは何か - 稚内北星学園大学

J2EE II
稚内北星学園大学
情報メディア学部
助教授 安藤 友晴
1
本講義の概要

JavaServer Faces をテーマに、J2EEでの
Webアプリケーション作成技法について学
ぶ。
2
講義内容 (1)






JSF概説
コレクション・フレームワーク
Ant
MVCモデル2とJSF
JSPの作成
画面遷移
3
講義内容 (2)





Value Binding
Method Binding
コンバータとバリデータ
JSFのライフサイクル
Component Binding
4
評価について



学期末試験は行わない
原則として、レポート課題によって評価
出欠状況は参考程度に
5
この講義のWebページ
www.wakhok.ac.jp/~tomoharu/j2ee2-wakkanai2005/
6
JSF概説
JSFからはじめる
Webアプリケーション開発
第1回
7
きょうの講義内容



WebアプリケーションとJ2EE
JSFとは何か?
guessNumberサンプルアプリケーション
8
WebアプリケーションとJ2EE
WebアプリケーションとJ2EE
JSFとは何か?
guessNumberサンプルアプリケー
ション

9
Webアプリケーション

Webアプリケーションとは、「ユーザがWeb
ブラウザを使って何かを入力し、必要な結
果を得る」Webページ。




サーチエンジン
本の検索
商品の購入
掲示板など
10
なぜWebアプリケーションか


アプリケーションを使う側の理由
 特定のソフトをインストールしなくても、
Webブラウザがあれば良い。
 操作は簡単。
アプリケーションを提供する側の理由
 集中管理できるので楽。
11
データベースの利用



Webアプリケーションは「データ」を処理する。
 図書データ
 在庫リスト
 掲示板の記事
「データ」は保存される (= 永続性を持つ)
データベースを使うと面倒がなくて良い。
 データをただのファイルで保存しておくと、遅い
し面倒。
12
J2EEの基本モデル

J2EEは「データベース」を使った「Webアプ
リケーション」の作成を念頭に置いている
技術
13
JSFとは何か?
WebアプリケーションとJ2EE
JSFとは何か?
guessNumberサンプルアプリケー
ション

14
フレームワーク (1)


Webアプリケーションのような、パターン化された
プログラムを作成するときに使われるもの。
例えば、どんなWebアプリケーションでも、次のよ
うな処理をする必要がある。
 フォームで入力されたパラメータの値を取得す
る。
 ボタンが押されたら次の画面に移る。
15
フレームワーク (2)



フレームワークでは、こうしたパターン化された機
能があらかじめ用意されている。
プログラム開発者は、個々のプログラムに固有
の機能を追加すればよい。
決まったパターンをわざわざ書く必要がないので、
プログラム開発が楽になる。
16
JSF (JavaServer Faces)
とは何か


Webアプリケーションのユーザインタフェー
スを作成するためのフレームワーク
ツールでのWebアプリケーションの作成を
強く意識している技術
17
“EoD” という考え方




Ease of Development = 開発の容易性
「いかにラクにソフトウェアを開発するか」
一昨年くらいから多用されているコトバ
最近のJava技術はEoDの考え方を基本と
しているものが多い。

J2SE 5.0 (Tiger), JSF, EJB 3.0, …
18
「開発ツール」で
Webアプリケーションを開発

ボタンやテキストボックスを Drag & Drop
して Webアプリケーションを開発していく。
19
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
2006年初頭にリリース予定の “Java EE 5” に含
まれることが決定
20
JSFは誰が作っているか (2)

仕様策定の中心となっているのは、Craig
McClanahan


MVCモデル2 を用いたフレームワークである
Struts を作った人
Struts と重複する機能が多い
21
JSFで何ができるか

MVCモデル2 による Webアプリケーション
のフレームワークを用意



これまでStruts などが対応してきた部分
JSF は View と Controller を担当
「UIコンポーネント」でWebページを構成



ラベル、テキスト入力フィールド、ボタンなど
AWT/Swing で画面を構成するようなイメージ
イベント処理の概念
22
guessNumber
サンプルアプリケーション
WebアプリケーションとJ2EE
JSFとは何か?
guessNumberサンプルアプリケー
ション

23
どんなサンプルか?



Duke くんが思っている数を当てるゲーム。
0 ~ 10 までの数を入力する
当たりかはずれか表示
24
実行
画面
25
実行方法



JSF 1.1.01 のアーカイブから samples/jsfguessNumber.war
を、%CATALINA_HOME%\webapps にコ
ピーする。
Tomcat を起動する
http://localhost:8080/jsf-guessNumber/
にアクセスする。
26
UIコンポーネントによる
画面構成

Webの画面はUIコ
ンポーネントから構
成される。
27
画面遷移

ボタンをク
リックしたら、
画面が遷移
する。
28
間違ったデータが入力
されたら?

数字を入れるべきと
ころを “wakhok” の
ような文字列を入力
したら、エラーメッ
セージが表示される。
29