LoginSignup
1
2

More than 3 years have passed since last update.

【Java】Controller の概念( MVCモデル )

Posted at

Controller

一言まとめ

「$ServletのようなViewとModelを制御する機能$ 」

【説明】

コントローラは、ViewとModelを制御します
MVCモデルにおいてのControllerは、名前の通り「システムをコントロールする役割」役割の機能のことで、ViewやModelへの命令を担います

【特徴】

Controllerは、自分自身でModelとViewの仕事である「ロジックの実行」や「画面の表示」は行わない。

Controllerの仕事は以下のように、「ModelとViewに仕事を割り当てる事」です。

  1. Viewからリクエストを受け取る
  2. Modelへ処理の命令を出す
  3. Modelから処理の結果を受け取る
  4. Viewへレスポンスを返す

JavaEEではControllerはWeb層とEJB層の2つに分かれており、以下のような流れで処理が行われる

  1. Web層でViewからの入力を受け付けて、Webに依存しない形式に変換
  2. その情報をEJB層に送信
  3. EJB層は送信された内容に応じて、必要なロジックが実装されたModel(EJB)に処理を依頼
  4. 処理結果はEJB層からWeb層へフィードバックされる
  5. Web層がView(JSP)に表示処理を依頼
  6. クライアントへ結果が送信される

【補足】EJB(Enterprise JavaBeans)

結論、ModelやJavaのクラスのことを指す。
EJBとは、Java言語の企業システム向け拡張仕様Java EE(Enterprise Edition)の一部で、サーバ上で動作するアプリケーションをソフトウェア部品(コンポーネント)を組み合わせて開発・実行できるようにするもの。

【使用場面】

一例は以下です。

  • サーブレットクラス
  • 要求の受け取り
  • 処理実行依頼(Model)
  • 結果表示依頼(View)
  • (Rest Controller)ユーザからリクエスト受けModelに処理を依頼する機能

【まとめ】

とりあえず概念についてはイメージが付いてきたので、実際にコードを書いて落とし込んでいきたい。

参考文献・記事

1
2
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
1
2