典型的なPlayアプリ構造:
project-root/
├── app/ ← メインのアプリコード
│ ├── controllers/ ← コントローラ定義(C)
│ ├── models/ ← ドメインロジックやDB関連(M)
│ └── views/ ← HTMLテンプレート(V)
├── conf/
│ └── routes ← ルーティング定義ファイル
├── public/ ← JS, CSS, 画像などの静的ファイル
├── build.sbt ← ビルド設定ファイル
ユーザーがブラウザでページにアクセスすると、
routes
ファイルでURLに対応するControllerのメソッドが決まる[ブラウザ] → URLアクセス
↓
[conf/routes] → どのController/Actionに渡すか決定
↓
[Controller] → ModelやViewを使用
↓
[View or 結果] → ブラウザへHTMLなどを返す
conf/routes
メソッド パス コントローラとアクション
-------------------------------------------------------
GET /home controllers.HomeController.index
POST /user/create controllers.UserController.createUser
GET /users/:id controllers.UserController.show(id: Long)