Interstage Application Server スタートガイド |
目次
![]() ![]() |
第5章 フレームワークを利用したアプリケーションの開発 |
ここでは、HelloApcoordinatorに基づいて、Apcoordinatorアプリケーションに必要な各種ファイルと動作の概要を説明します。
ここでは、HelloApcoordinatorアプリケーションの作成ウィザードによって作成されたファイルについて説明します。
HelloApcoordinatorアプリケーションでは、大きく分けて7種類のファイルが生成されます。これら7種類16ファイルの概要は次の表のとおりです。
ファイル種別 |
ファイル名 |
内容 |
---|---|---|
制御ページ |
main.jsp |
Apcoordinatorアプリケーションでは、クライアントからのリクエストを制御ページが受け取ります。そのため、アプリケーション内には必ず一つ以上の制御ページが必要です。 |
ファクトリクラスの拡張 |
HelloFactory.java |
ファクトリクラスを拡張することで、セション管理機能やDB連携機能を使用することができます。詳しくはApcoordinator ユーザーズガイドをご覧ください。 |
データBean |
HelloHeadBean.java |
入出力ページとビジネスクラスの間のデータ受渡しを行うJavaBean形式のクラスです。 |
ビジネスクラス |
HelloHandler.java |
ビジネスロジックを記述するJavaのクラスです。 |
入出力ページ |
helloHeadPage.jsp |
入出力項目を持つJSPページを入出力ページと呼びます。一つの画面を複数の入出力ページで構成することができます。 |
関係定義ファイル |
commands.map |
Apcoordinatorでは、アプリケーション内でビジネスクラス名やJSPファイル名を直接指定せずに、関係定義ファイルを用いて間接的に指定します。関係定義ファイルにはコマンドマップとページマップがあります。 |
その他 |
web.xml |
Apworksは上記のファイルの他に3つのファイルをプロジェクト内に作成します。 |
上記のファイルの中で重要なのは、入出力ページ、データBean、ビジネスクラスの3つです。これら3つのファイルによってWebアプリケーションの主な構成要素である 画面、データ、ロジックを分離して作成することが可能です。次節では、これら3つのファイルがアプリケーションとしてどのように動くのかを見ていきます。
ここでは、HelloApcoordinatorの動作概要を説明します。
まずは、初期起動時の動作です。
初期起動時の動作の概念図を下図に示します。下図のように初期起動は9つのフェーズに分かれています。
次に上記の図より、具体的な動きを追っていきます。図中の番号と、その動作を下記の表に示します。
動作の名称 |
内容 |
---|---|
1.リクエストの送信 |
まず、ブラウザから制御ページにリクエストが送信されます。 |
2.uji:dispatchタグの起動 |
制御ページに記述されてあるuji:dispatchタグから、Apcoordinatorが起動します。 |
3.コマンドマップから初期起動用のメソッドを検索 |
コマンドマップ内から初期起動用のメソッドを検索します。 |
4.データBeanを領域にセット |
HelloHandlerクラスのstartup()メソッド内でDispatchContextクラスのsetResponseBean()メソッドが呼ばれ、データBeanに領域名がセットされます。 |
5.uji:includeタグの起動 |
次に、制御ページに記述されているuji:includeタグが呼ばれ、Apcoordinatorが起動します。 |
6.領域名からデータBean名を検索 |
uji:includeタグのpaneアトリビュートに記述されている領域名からデータBeanを検索します。 |
7.ページマップから入出力ページを検索 |
検索されたデータBeanをもとに、ページマップから対応する入出力ページを検索します。 |
8.入出力ページをuji:includeタグにセット |
入出力ページがuji:includeタグのある場所にセットされます。 |
9.レスポンスの送信 |
最後に生成された表示用データをブラウザに送信します。 |
以上の9つのフェーズを経て、レスポンスが送信されます。ただし、5〜8はuji:includeタグの数だけ繰り返されます。
次に、ブラウザからデータが送られて来る場合を考えます。この場合は、下図のように10のフェーズに分かれます。
先ほどと同様に、上記の図より、具体的な動きを追っていきます。図中の番号と、その動作を下記の表に示します。
初期起動時と異なるのは、リクエスト受信時にデータBeanにデータがセットされ、ビジネスクラスに渡されるところです。
動作の名称 |
内容 |
---|---|
1.リクエストの送信 |
まず、ブラウザから制御ページにリクエストが送信されます。 |
2.uji:dispatchタグの起動 |
制御ページに記述されてあるuji:dispatchタグから、Apcoordinatorが起動します。 |
3.データBeanにデータをセット |
ブラウザから送信されたデータをデータBeanにセットします。 |
4.コマンドマップからメソッドを検索 |
コマンドマップ内からメソッドを検索します。 |
5.データBeanを領域にセット |
HelloHandlerクラスのok()メソッド内でDispatchContextクラスのsetResponseBean()メソッドが呼ばれ、データBeanに領域名がセットされます。 |
6.uji:includeタグの起動 |
次に、制御ページに記述されているuji:includeタグが呼ばれ、Apcoordinatorが起動します。 |
7.領域名からデータBean名を検索 |
uji:includeタグのpaneアトリビュートに記述されている領域名からデータBeanを検索します。 |
8.ページマップから入出力ページを検索 |
検索されたデータBeanをもとに、ページマップから対応する入出力ページを検索します。 |
9.入出力ページをuji:includeタグにセット |
入出力ページがuji:includeタグのある場所にセットされます。 |
10.レスポンスの送信 |
最後に生成された表示用データをブラウザに送信します。 |
目次
![]() ![]() |