Struts1.xのMVCモデル ~JSP/XML/Java~

Pocket

【Struts1.xのMVCモデル ~JSP/XML/Java~】
(1)MVCモデルとは
一般的にプログラムを以下の3つ(MVC)に分けることを指します。
①M(Model/モデル)・・・データを扱うもの、主にデータの入れ物とか処理
②V(View/ビュー)・・・見た目、主に画面
③C(Controller/コントローラ)・・・処理の制御、主に画面と処理の対応情報

何でこの3つなの?って言うと、特にWEBアプリケーションは以下の特徴を持つからです。
「ある画面から別の画面に移動する際、データをやり取りする」
struts_2_1

これをMVCに基づいて説明すると、
「ある画面(②ビュー)から別の画面(②ビュー)に移動する際、データ(①モデル)をやり取りする」となります。
ちなみに「どの画面に移動するか/何のデータをやり取りするか」が制御情報(③コントローラ)に該当します。

Struts1では
①V(ビュー)はWEB画面:「JSP」で作成
②M(モデル)はデータの入れ物と処理:「Java」で作成
③C(コントローラ)はWEB画面と入れ物/処理の関連付け情報:「XML」で作成
というように、MVCをそれぞれ別々の言語で記述します。

何で分けるの?って言うと、理由は一つではありません。色々と便利だからです。

データの入れ物(②モデル)が独立してるのでデータベースと形式を合わせやすい、画面(①ビュー)と処理(②モデル)をそれぞれ別個に作れる、パッと見でどこに何があるか把握し易い、などが代表的なメリットでしょうか。概ね、開発効率が上がる(作るのが早くなる)事が挙げられます。

デメリットは、MVCモデルに触れた事のない開発者は慣れるまで苦労する事でしょうか。
とはいえWEBシステムの多くには今後も当たり前のようにMVCモデルが使われるので、習得しておいて損はないと思います。

まだMVCのイメージがハッキリしない時は、以下の具体例も眺めておきましょう。

 ①View:画面
→画面Aや画面Bのこと、JSPで実装します。
struts_2_2
 ②Model:やり取りするデータの入れ物、処理
→やり取りするデータ(ID、パスワード)を保持する入れ物やログイン処理のこと、Javaで実装します。
struts_2_3
 ③Controller:画面の移動先、画面間での処理やデータの入れ物の対応
→画面の遷移先や実行処理の対応のこと、XMLで記述します。
struts_2_4
さて次は実際に開発する環境を整えましょう。

広告

Pocket