---
# System prepended metadata

title: MVC Note
tags: [Note]

---

MVC Note
==
# View
## JSP
* フロントエンド
* UIの配置
* スコープに保存された内容をEL式、アクションタグを用いてDomainから引っ張ってくる
* HTMLの生成

# Controller
## FrontController
* ブラウザからのリクエストを引き受ける
* Actionの呼び出し元
* リクエストをそれぞれのAcitonに割り振る

## Action
* Domainにリクエストパラメータを格納する
* Logicの呼び出し元
* 次に表示するJSPを決める
* Domain経由でLogicにデータを受け渡す
* 適宣、型キャスト、リクエストパラメータの妥当性をチェックする

# Model

## Domain
* Entityクラス
* リクエストパラメータを保持する
* AcitonとLogicの値の受け渡しを行うための橋渡し役
* JSPで表示するEL式の問い合わせ先
* JavaBeansの条件を満たす必要がある

## Logic
* DomainとDTOを使用して業務処理ロジックを実行する
* DAOを呼び出す
* 検索系Logic
    * DTOの値をJSPで呼び出す用に加工する
    * DTOの値をDomainにセットする
* 更新系Logic
    * DTOに渡すための形式にDomainの情報を加工する
    * Domainの値をDTOにセットする
## DTO
* Entityクラス
* DBに問い合わせる用のデータを格納する
* DBからのレスポンス内容を格納する
* 値の状態はLogicで加工されている
* テーブルと同じようなフィールド名とデータ型にする

## DAO
* DBに対してSQLを走らせる
* 操作系メソッド
    * 実行したSQLの検索結果をDTOに保存する
* 更新系メソッド
    * DTOの値を元にSQL分を生成する

***
###### tags: `Note`
