ファイヤープロジェクト
Strutsの概要
2003-07-20T15:13+09:00   matsu
ここではStrutsを使用したプログラムの構成を説明し,「しなければならないこと」と「しなくてもよいこと」を明らかにする.StrutsはMVCモデルに基づいて設計されたフレームワークである.ほとんどのWebアプリケーションで「仕組み」を共通化できるのは,View,Controller,そしてModel部の入口までの「連係」である.そしてその連係の中心となるController(Servlet)のコーディングが一番厄介だったりする.Strutsの「守備範囲」はそのControllerが中心であり,そのControllerがうまく機能するように,ViewとModelでいくつかの機能を提供する.
Strutsを使用したプログラムは,以下の構成になる.
Servletとstruts-config.xml
Servletは作成する必要はなく,その制御はstruts-config.xmlで設定する.
Actionクラス
Model部の入口となるクラス.
ActionFormBeanクラス
Beanである.ServletはActionFormBeanに値をいれてActionクラスに渡す.ActionクラスはActionFormBeanから値をとりだして処理を行う.JSPではTaglibを通じてActionFormBeanから値を取り出す.
JSPファイルとTaglib
JSPファイルはTaglibを使用することで,可読性の高いコードを書くことができる.逆にTaglibを使用せずにJSPを書こうとすると,Strutsのコードを解析する必要がある気がする.
以上の構成物の関係を以下に示す.
  • Strutsを使用したアプリケーションでは,いくつかのアクションがある.
  • 各アクションには,
    • そのアクションを起動するURL
    • そのアクションを実行するActionクラス
    • そのアクションの結果を表示する画面
  • ServletとActionクラスとJSPの間でデータを運ぶActionFormBeanがある.
  • 以上の関係をServletに設定するためのstruts-config.xmlがある.
  • JSPでActionFormBeanのデータを取り出すためのTaglibがある(Taglibは他にもJSP作成で有用なさまざまな機能を提供する).
最終的に必要なものが揃っていれば,順番はどうでもいいのだが,ここでは一つの案として手順を示す.
  1. Model部の作成
  2. struts-config.xmlの作成
  3. ActionFormBeanの作成
  4. Actionクラスの作成
  5. JSPの作成
Model部の作成は,Webアプリケーションとは独立して単体でも動作するように作成すべきである.すなわちModel部の一つのUIとしてWebアプリケーションのようなブラウザを介したものがあり,CUIがあり,Swing等を使用したGUIがある,というように,Model部は他からできるだけ独立させる(関連を疎にする)べきである.そうしないとモジュール化や再利用ができなくなり,デバッグ作業なども複雑になる.システムはできるだけシンプルに設計しなければならない.
あとはstruts-config.xmlを作成して,Model部を含んだWebアプリケーション全体の設計をし(これは主に画面遷移の設計になる),それに応じてActionFormBean,Actionクラス,JSPを作成する.
matsu(C)
Since 2002
Mail to matsu