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