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
© Copyright 2024 ExpyDoc