シリーズJavaの画面表示のつづきです。前回、JSPで画面表示部分とコントローラー、Javaのクラスでモデルを行うためのソース
JSP
・index.jsp:View
・kekka.jsp:View
・shori.jsp:コントローラー
JavaBean
・Shori1.java:モデル
を示しました。今回は、まず、この配置についてと、この後の話であるStrutsの話とのつながりについて書きます。
■配置について
配置については、MVC版でないときの配置とおなじです。
Javaの画面表示-その4:JSPで表示、JavaBeanで処理(その3:配置)
http://blog.goo.ne.jp/xmldtp/e/860cdeac89b7a009c68e7cd0884e1753
に書いてあります。
で、そのときなかった、shori.jspは、index.jspやkekka.jspと同じフォルダに入れてください。
■Strutsとの関係
MVCにわけてJSPを利用するものとしてはStrutsがあります。
それとの関係について言うと、
・Strutsの場合は、Shori.jspでやっていたコントローラー部分を、Javaでやります。
・画面のJSPでやっていた、値をとってきて、埋める部分をStrutsタグでやります。
で、このとき、今回のshori.jspの役割を考えると、
(1)画面の値を取り出す
(2)モデルを呼び出す
(3)画面に値をセットして表示する
となります。
Strutsでは、この(1)と(3)を、ActionFormを継承したクラスで行います。
これは、画面ごとに存在することになります。
(2)の部分は、Actionを継承したクラスで行います。
これはActionごと(ボタンがいくつもあって、それを押すとサーバーに行って何かするという仕組みの場合、そのボタンごと)になります。
なので、画面にいくつもボタンがあって処理が違う場合、画面より、Actionのクラスのほうが多くなります。
で、さらに、それらのクラスと画面などの関係を書いたXMLファイルも必要になります。
■MVCにするだけなら。。
とまあ、いろんなファイルがあるのですが、
別にMVCにしたいだけなら、コントロール、つまりStrutsのActionの部分をサーブレットにして、他の画面表示の部分をJSPにする、すなわち、
Javaの画面表示-その2:JSPで表示部分、サーブレットで処理部分でやっていた方法で十分だったりするわけです。
JSPは、表示だけでしか使いませんし、その程度ならStrutsでタグを入れてるのと、かわんないわけです(Strutsタグを覚える必要もないし)。
一方Strutsとちがって、画面の(ActionFormから継承される)クラスは必要ありませんし、XMLもいらないので、管理は簡単。
っていうことで、いいこと尽くめのようにも思えるのですが、実際は、世の中はStrutsが出回っていて、Strutsでやんないと、「オープンソースで提供されているのに!!」云々という人が出てきて、うるさいわけです。
ということで、普通MVCは、Strutsでやります。。やんないほうが簡単なのに。。
(事実、やらなかったプロジェクトも知っている。そのまま呼び出したほうが簡単ジャン!っていうので)
ということで、このシリーズの次回から、Strutsをやります。