2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

##MVCとは

JavaサーブレットとJSPを利用したMVCモデルの開発を経験したので、その備忘録としてMVCモデルについてまとめます。

まず、MVCモデルの意味についてですが
M(Model)V(View)C(Controller)の頭文字をとったものになります。

Model
データを格納しておくための入れ物や処理などを担当します。
  処理→Logicクラス(Java)
  データの入れ物→データの入れ物→JavaBEANSクラス
View
画面の表示を担当します。
  画面の表示→JSP
Controller
ModelとViewなどの処理を依頼したり画面遷移させたりなど、窓口を担当します。
  窓口→サーブレットクラス

###具体的な動き
MVC説明.jpg

図を見ていただくと「スコープ」というものが登場しています。
スコープについて詳しくはこちらを参照してください。
今回の図ではリクエストスコープを利用する場合で考えます。

①サーブレットクラスでユーザーからのアクセスを受け取ります。この際、ユーザー側から情報が送られることがあるので、それを受け取る場合はサーブレットクラスで受け取ります。
②サーブレットクラスから引数としてLogicクラスに何か値を渡す場合、もしくはLogicクラスからの戻り値として値を返す場合などにJavaBEANSクラスの入れ物に入れて受け渡しを行います。
③スコープにデータを保存します。
④サーブレットからJSPに遷移します。
⑤スコープからデータを取り出します。
⑥ユーザーに画面を表示します。
※よく参考書などででてくる**「リクエスト」は①の動きで「レスポンス」**は⑥の動きに当たります。

###補足

ここでは説明を割愛しましたがデータベースへの参照や登録や更新や削除がこの作業に追加された場合には、データベースを操作するためのLogicクラス(DAOクラス)というものを作成し、コントローラー→DAOクラス→データベースというアクセスになります。

また、逆にLogicクラスすら使わず、クリックしたら画面を遷移するだけの場合などはサーブレットとJSPだけでも画面遷移は可能です。図でいうところの①④⑥の動きです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?