strutsについて

MVCシステムデザイン
M=Model 基幹部分。データベースなど
V=Visual ユーザー側のインターフェイス部分。JSP
C=Control MとVをつなげる。サーブレット

フレームワーク
インターフェイスの塊みたいなもの?データ入出力や画面遷移などwebアプリケーションにおいてあらかじめ想定される動きを定義してあるもの(?)
プラス便利クラスを集めたパッケージみたいなもの(?)
チーム製作を想定した仕様の統一。

■■■strutsが持っている機能

■カスタムタグ
独自に定義したタグを使える。HTMLが読みやすくなる(?)
(HTMLにstrutsタグとでも呼ぶべき独自のタグを使ってコードを書くことができるような機能をstrutsが用意しているということ。)

■アクションサーブレット
「入出力データの振り分けや画面遷移の制御を一手に引き受けます。」http://www.atmarkit.co.jp/fjava/rensai3/struts01/struts01_1.html:@IT
おそらく、iniファイルのような設定ファイルを用意することで用意されているControl用パッケージが動かせるようなイメージだと思う。
コンフィグレーションファイル→(struts-config.xml

■アクションフォームBeans
「ユーザーからの入力データを格納し、ビジネスロジックに引き渡すための役割を果たします。入力データの検証処理やデフォルト値のセットなど」を担うということ。(@IT)

■Validator
入力データの検証、エラー表示など。設定ファイルを用意しておけばチェックから警告表示など引き受けてくれるんだと思う。

■■■考え方
Strutsに限らず、フレームワークは既存のクラスやシステムとかインターフェイスを組み合わせて効率的にアプリケーションを作りましょうというものだと思う。
またWebアプリケーションで普遍的に必要とされそうな機能をあらかじめ用意してくれている。たとえば数値が入力されるべきフォームに数値以外のものが入力されていないかどうかを検証するようなメソッドが用意されていることで、効率的に開発できるよということ。
たとえばMVCの考え方ではVの部分、ユーザーの端末部分にJSPを使用し画面表示や入力を促す。この場合にJSPも処理能力を持っているがstrutsの考え方としてVはVの役割だけを果たすべきという考え方があるので、極力JSPの処理能力を利用しないべき。??