TOPシステム開発> JSFのライフサイクル




まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第3回:JSFのライフサイクルとStrutsとの比較

著者:WINGSプロジェクト  佐藤治夫(株式会社ビープラウド)、
小泉守義

監修:山田祥寛   2006/7/27
1   2  次のページ
JSFのライフサイクル

   一般的なWebアプリケーションでは、クライアントからのHTTPリクエストを受信してから、入力値の受付、入力値の検証、データ処理、画面生成など、一連のフローが存在します。JSFでは、この処理順序をライフサイクルとして定義しています。それぞれの処理単位は「フェーズ」と呼ばれます。JSFを正しく使いこなしていくうえで、このライフサイクルの知識は、必要不可欠なものです。

   ライフサイクルは6つのフェーズからなり、次の順で実行されます(図1)。
JSFのライフサイクル
図1:JSFのライフサイクル


1. Restore Viewフェーズ

   ページのコンポーネントのビュー(UIViewRoot)を作り上げて、FacesContextに格納します。初めてのアクセスの場合は空のビューが生成されます。JSFページからの要求の場合は、クライアントもしくはサーバーにビューの状態が格納されているので、それを用いてビューが復元(restore)されます。


2. Apply Request Valueフェーズ

   クライアントからの送信値が、Restore Viewフェーズで復元(restore)されたコンポーネントに反映されます。具体的にはビューの各コンポーネントに実装されたdecode()メソッドが呼び出され、各コンポーネントに値が反映されます。


3. Process Validationフェーズ

   コンポーネントに登録されたすべてのバリデータが実行されます。


4. Update Model Valueフェーズ

   コンポーネントの値がマネージドBeanに反映されます。


5. Invoke Applicationフェーズ

   ボタンやリンクに関連づけられたアクションイベントが処理されます。


6. Renderer Responseフェーズ

   各コンポーネントのencode系メソッドが呼び出されて、レスポンスが生成されます。レンダリングが終了するとコンポーネントの状態がクライアント、もしくはサーバーに保存されます。

1   2  次のページ

書籍紹介
まるごとサーバサイドJava! Vol.1
まるごとサーバサイドJava! Vol.1 〜初心者からプロまですべての開発者に贈る〜サーバサイドJavaのすべてをまるごと紹介
サーバサイドで実行されるシステム環境Java EEを取り巻く環境は一大変革を遂げようとしています。J2EE時代のEJB(Enterprise Java Beans)からPOJO(Plain Old Java Object)へ、オブジェクト指向からアスペクト指向へ。Sun Microsystems外から発生した新しい流れは本家Java EE 5へ取り入れられる予定です。本書はこうしたJavaの新潮流を余すことなくお伝えします。

発売日:2006/09/01
定価:\2,415(本体 \2,300+税)
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義 監修:山田祥寛
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛

WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第3回:JSFのライフサイクルとStrutsとの比較
JSFのライフサイクル
  Strutsとの比較
JDeveloperで学ぶJSF入門
第1回 JSFの特長
第2回 JSFを構成する要素
第3回 JSFのライフサイクルとStrutsとの比較
第4回 環境設定
第5回 JSFアプリケーションを作成しよう
第6回 情報入力ページの作成
第7回 コマンドボタンの配置と結果出力ページの作成
第8回 バリデータの設定とメッセージの日本語化
第9回 アプリケーションロジックを追加する
第10回 モデルとビューを統合する
第11回 バインディングとテスト
第12回 カスタムバリデータの作成方法〜JSFをより高度に利用するために
第13回 独自のバリデータタグの作成
第14回 カスタムコンバータの作成
第15回 カスタムコンポーネントの作成(前編)
第16回 カスタムコンポーネントの作成(後編)