§Play アプリケーションの概要
このチュートリアルは、Play について学習を開始するために調べることができるシンプルな Play アプリケーションとして実装されています。最初に、実行時に何が起こるかを見てみましょう。ブラウザで http://localhost:9000/ と入力すると
- ブラウザは、
GET
メソッドを使用して HTTP サーバーからルート/
URI をリクエストします。 - Play 内蔵 HTTP サーバーがリクエストを受信します。
- Play は、URI をコントローラーのアクションメソッドにマッピングする
routes
ファイルを使用してリクエストを解決します。 - アクションメソッドは、Twirl テンプレートを使用して
index
ページをレンダリングします。 - HTTP サーバーは、レスポンスを HTML ページとして返します。
概要レベルでは、フローは次のようになります。
§プロジェクトの探索
次に、チュートリアルプロジェクトを見て、以下の実装を見つけましょう。
- リクエストをコントローラーメソッドにマッピングする routes ファイル。
- ルート URI へのリクエストの処理方法を定義するコントローラーアクションメソッド。
- アクションメソッドが HTML マークアップをレンダリングするために呼び出す Twirl テンプレート。
ソースファイルを掘り下げるには、次の手順に従います。
**注:** Windows シェルの場合、以下の手順では、パス名に / の代わりに \ を使用してください (URL パス名は変更する必要はありません)。
コマンドウィンドウまたは GUI を使用して、トップレベルのプロジェクトディレクトリのコンテンツを確認します。以下のディレクトリには、アプリケーションコンポーネントが含まれています。
app
サブディレクトリには、controllers
とviews
のディレクトリが含まれています。これは、MVC (Model View Controller) アーキテクチャに精通している方にはなじみ深いものです。このシンプルなプロジェクトは外部データリポジトリを必要としないため、models
ディレクトリは含まれていませんが、必要であればここに追加します。public
サブディレクトリには、images
、javascripts
、およびstylesheets
のディレクトリが含まれています。conf
ディレクトリには、アプリケーションの設定が含まれています。プロジェクトの残りの構造の詳細については、Play アプリケーションの構造 を参照してください。
コントローラーアクションメソッドを見つけるには、お好みのテキストエディタで app/controllers/HomeController.java
(または .scala
) ファイルを開きます。Homecontroller
クラスには、以下に示すように、index
アクションメソッドが含まれています。これは、index.scala.html
Twirl テンプレートファイルから HTML ページを生成する非常にシンプルなアクションメソッドです。
- Java
-
public Result index() { return ok(views.html.index.render("Your app is ready.")); }
- Scala
-
def index = Action { Ok(views.html.index("Your new application is ready.")) }
ブラウザのリクエストをコントローラーメソッドにマッピングするルートを表示するには、conf/routes
ファイルを開きます。ルートは、HTTP メソッド、パス、およびアクションで構成されます。URL スキームをこのように制御することで、クリーンで人間が読めるブックマーク可能な URL を簡単に設計できます。次の行は、ルート URL /
に対する GET リクエストを HomeController
の index
アクションにマッピングします。
GET / controllers.HomeController.index
テキストエディタで app/views/index.scala.html
を開きます。このファイルの main ディレクティブは、文字列 "Welcome to Play" を使用して main テンプレート main.scala.html
を呼び出し、ページを生成します。app/views/main.scala.html
を開くと、String
パラメータがページタイトルを設定する方法を確認できます。
チュートリアルアプリケーションの概要を説明したので、「Hello World」のあいさつを追加する準備ができました。
**次へ:** Hello World の実装
このドキュメントに誤りを見つけましたか?このページのソースコードは こちら にあります。ドキュメントガイドライン を読んだ後、プルリクエストを送信してください。質問やアドバイスがあれば、コミュニティフォーラム にアクセスして、コミュニティとの会話を始めてください。