1.Strutsの概要
StrutsはWebアプリケーションのプレゼンテーション層で利用するフレームワークです。アプリケーションコントローラの役割を担う。
Strutsの基本的な処理フローは次のようになる。
①クライアントがWebブラウザからリクエストを行う。
↓
②ActionServletオブジェクトがリクエストを受け付け、ActionFormオブジェクトを生成する。
↓
③ActionServletオブジェクトはリクエストパラメータ(主に入力データ)をActionFormオブジェクトに設定する。
↓
④ActionServletオブジェクトはActionオブジェクトのメソッドexecuteを呼び出し、ActionFormオブジェクトを渡す。
↓
⑤Actionオブジェクトはビジネスロジックを呼び出し必要な処理を行ったあと、ActionServletオブジェクトに処理結果を返す。
↓
⑥ActionServletオブジェクトは次に表示すべきJSPを呼び出し、JSPは処理結果をもとにHTMLページを生成し、Webブラウザに表示する。
2.Strutsの課題
StrutsのActionは、通常ビジネス層のサービスオブジェクトを生成して、ビジネスロジックを呼び出している。つまり、Actionはビジネス層の具象クラスを知っている必要がある。この状態ではプレゼンテーション層(Struts)とビジネス層が密に結合しているので、ビジネス層の具象クラスが変更された場合に呼び出し側のプレゼンテーション層に影響が出てしまう。
Springの連携によってその部分を解消させる。
3.Struts+Spring連携の目的
Springが提供するStrutsとの連携機能を利用して、Actionがビジネス層の具象クラスを意識することなく、DIコンテナ上で管理されているサービスオブジェクトを利用できるようにし、プレゼンテーション層とビジネス層の依存度を低くする。
4.Struts+Spring連携
SpringとStrutsを連携させようと考えた場合、ActionからDIコンテナに配置されているサービスオブジェクトへの関連をどのように構築するかが問題となる。
最終更新:2006年12月24日 18:59