Scalatraプロジェクト構成

嫁が起きない。
まぁいいや。

前回までで環境構築は終わったと思われ。
後は、作ったプロジェクトをimportして終わり。

テンプレートから作ったプロジェクトはこんな感じになってる。

プロジェクト構成

${PROJECT_ROOT}
│
├── README.md
├── project
│   ├── build.properties
│   ├── build.scala
│   └── plugins.sbt
├── sbt
└── src
    ├── main
    │   ├── resources
    │   │   └── logback.xml
    │   ├── scala
    │   │   ├── ScalatraBootstrap.scala
    │   │   └── com
    │   │       └── nyasu1111
    │   │           └── sample
    │   │               ├── SampleServlet.scala
    │   │               └── SampleStack.scala
    │   └── webapp
    │       └── WEB-INF
    │           ├── templates
    │           │   ├── layouts
    │           │   │   └── default.jade
    │           │   └── views
    │           │       └── hello-scalate.jade
    │           └── web.xml
    └── test
        └── scala
            └── com
                └── nyasu1111
                    └── sample
                        └── SampleServletSpec.scala

サーバー起動時の動き

container:startすると

  1. ScalatraBootstrap#initが呼ばれる。 initメソッド
context.mount(new SampleServlet, "/*")

って書いてある。バインディング先を指定してるんだろう。
2. ScalatraBootstrap#initインスタンス化されたSampleServletが呼び出される。
3. SampleServlettraitである、SampleStack#createTemplateEngineを呼び出して、レイアウト系の何かを登録するみたい。

シンプル(๑˃̵ᴗ˂̵)و