JSFとは何か - 稚内北星学園大学
Download
Report
Transcript JSFとは何か - 稚内北星学園大学
2006年度 東京サテライト校
エンタープライズ・アプリケーション II
稚内北星学園大学
情報メディア学部
助教授 安藤 友晴
1
本講義の目標
JSFを使って、「ラクに」Webアプリケー
ションを作ろう!
2
本講義のスケジュール
第1日 (6/18)
JSF概説
Ant
MVCモデル2とJSF
JSPの作成
画面遷移
第3日 (7/23)
コンバータ
バリデータ
さまざまなUIコンポーネン
ト
第2日 (7/9)
Value Binding
Method Binding
Component Binding
3
本講義の単位の認定について
レポート課題を提示します。
レポートを評価して単位を認定
すべてのレポートの提出が必須
サマースクール「JSFとAjaxコース」に参加の方は、課題
の進捗状況を判断のうえ単位の発行が可能になります
4
JSF概説
エンタープライズアプリケーション II
第1回
2006年6月18日
5
ここでの講義内容
Java EE (J2EE)
JSFとは何か?
guessNumberサンプルアプリケーション
JSFの情報源
6
Java EE (J2EE)
7
J2EEの基本モデル
J2EEは「データベース」を使った「Webアプ
リケーション」の作成を念頭に置いている
技術 (3層モデル)
8
J2EEサーバとコンテナ
3層モデルの中央に位置
大きく分けて、次の2つの機能を持つ
Webコンテナ
EJBコンテナ
2つのコンテナでは、それぞれJavaのプロ
グラムが動く
9
Servlet と JSP
J2EEでは動的なページを作成するためServletとJSPを使う。
Servlet
JSP
HttpServlet を継承する Javaプログラム。
HTML を埋め込める (あまり使わないけど)
ほとんどHTML
Javaプログラムを埋め込める (あまり使わないけど)
「Webコンテナ」の内部ではServletに変換される
どちらも「Webコンテナ」で動く。
普通は Servlet と JSP を組み合わせて使う。
10
MVCモデル2とフレームワーク
ServletやJSPは、「MVCモデル2」という技
術で組み合わせる。
MVCモデル2に基づく「フレームワーク」を
使うと、Webアプリケーションの作成が楽
になる
JSF
Struts
Tapestry など
11
Javaからデータベースを利用
JDBC
JavaでSQLをラッピングしたもの
O/R Mapping
「ひとつのJavaオブジェクト」が「リレーショナルデータベースの
テーブルの1行分のデータ」と対応
Entity Bean / Hibernate / Cayenne など
2006年に Java Persistence API がリリース。O/R Mapping の標
準APIになっていく
12
Java EE 5 の登場
2006年5月に正式リリース
「J2EE 1.5」となるべきものを「Java EE 5」に改
称
http://java.sun.com/javaee/
リファレンスインプリメンテーション = RI =
参照実装
Project GlassFish
https://glassfish.dev.java.net/
13
Java EE 5 の技術的な特徴 (1)
EoD (= Ease of Development = 開発の
容易性)の導入
J2SE 5.0 に加わった新しい言語仕様の積極
的な利用
特にAnnotation
Dependency Injection (DI) の考え方
POJO (Plain Old Java Object) / POJI (Plain
Old Java Interface) の利用
14
Java EE 5 の技術的な特徴 (2)
WebアプリケーションではJSFの利用が基
本
ビジネスロジックとO/R Mapping には EJB
3.0 の利用が基本
「改良されたStruts」としてのJSF
これまでのEJBが劇的にシンプルに
Java EE 5 = JSF + EJB 3.0
15
JSFとは何か?
16
フレームワーク (1)
Webアプリケーションのような、パターン化されたプログラ
ムを作成するときに使われるもの。
例えば、どんなWebアプリケーションでも、次のような処
理をする必要がある。
フォームで入力されたパラメータの値を取得する。
ボタンが押されたら次の画面に移る。
17
フレームワーク (2)
フレームワークでは、こうしたパターン化された機
能があらかじめ用意されている。
プログラム開発者は、個々のプログラムに固有
の機能を追加すればよい。
決まったパターンをわざわざ書く必要がないので、
プログラム開発が楽になる。
18
JSF (JavaServer Faces)
とは何か
Webアプリケーションのユーザインタフェー
スを作成するためのフレームワーク
ツールでのWebアプリケーションの作成を
強く意識している技術
ボタンやテキストボックスを Drag & Drop して
Webアプリケーションを開発していく。
19
JSFは誰が作っているか (1)
Java Community Process (JCP)
JSF は、 JCP の中の “JSR 127” で仕様を策定
Javaの標準技術を定める手続き
JSF は、Javaの標準フレームワーク
JSF 1.2 からは “JSR 252“
2004年3月に version 1.0 が正式リリース
2004年5月に version 1.1
2004年9月に version 1.1.01
2006年5月に version 1.2
2006年5月ににリリースされた “Java EE 5” に含まれる
20
JSFは誰が作っているか (2)
JSF 1.1 の仕様策定の中心となっているの
は、Craig McClanahan
MVCモデル2 を用いたフレームワークである
Struts を作った人
Struts と重複する機能が多い
21
JSFで何ができるか
MVCモデル2 による Webアプリケーション
のフレームワークを用意
これまでStruts などが対応してきた部分
JSF は View と Controller を担当
「UIコンポーネント」でWebページを構成
ラベル、テキスト入力フィールド、ボタンなど
AWT/Swing で画面を構成するようなイメージ
イベント処理の概念
22
guessNumber
サンプルアプリケーション
23
どんなサンプルか?
Duke くんが思っている数を当てるゲーム。
0 ~ 10 までの数を入力する
当たりかはずれか表示
24
実行
画面
25
実行方法
Tomcat を起動する
アプリケーション・マネージャで、JSF
1.1.01 のアーカイブにある samples/jsfguessNumber.warを配備
http://localhost:8080/jsf-guessNumber/
にアクセスする。
26
UIコンポーネントによる
画面構成
Webの画面はUIコ
ンポーネントから構
成される。
27
画面遷移
ボタンをク
リックしたら、
画面が遷移
する。
28
間違ったデータが入力
されたら?
数字を入れるべきと
ころを “wakhok” の
ような文字列を入力
したら、エラーメッ
セージが表示される。
29
JSFの情報源
30
情報源
本家
java.net
http://java.sun.com/javaee/javaserverfaces/
https://javaserverfaces.dev.java.net/
Apache MyFaces
http://myfaces.apache.org/
JSF仕様のApache Software License による実装 +
豊富なUIコンポーネント
31