「Hello World」チュートリアル-最初のPlayフレームワークアプリケーション(パート1)

これは非常に表面的なガイドであり、「Hello World」アプリケーションの作成例を使用してPlayフレームワークの基本機能のみを紹介します。





「グレートJava MVCフレームワーク-Playフレームワーク」の記事でPlayフレームワークに慣れることができます。 この翻訳では、Webアプリケーションの作成プロセスについて説明しています。



必要条件



Javaマシンが少なくともバージョン5をインストールしていることを確認してください。



コマンドラインを積極的に使用するため、UnixライクなOSを使用することをお勧めします。 Windowsを実行している場合、Playフレームワークも正常に機能します。コマンドラインでいくつかのコマンドを入力する必要があります。



もちろん、テキストエディターが必要になります。 EclipseやNetbeansなどのフル機能のIDEの使用に慣れている場合は、それらを使用できます。 ただし、Textmate、Emacs、またはVIなどの単純なテキストエディターでPlayをプレイできます。 これは、Playが独自にコンパイルと展開を管理するためです。 私たちはすぐにこれを見るでしょう...



Playフレームワークをインストールする



とても簡単です。 最新バージョンをダウンロードして、便利な場所に解凍するだけです。 ( ダウンロード



Windowsを使用している場合は、スペース文字なしのファイルパスを使用することをお勧めします。たとえば、c:\ Playはc:\ Documents And Settings \ user \ playよりも優れています。




より効率的に作業するには、Play環境変数をPATH環境変数に追加する必要があります。 これにより、任意のディレクトリでplayコマンドを使用できます。 すべてが機能することを確認するには、コマンドラインを開いてplayと入力するだけで、基本的なコマンドのヘルプが表示されます。



プロジェクト作成



Playフレームワークがインストールされたので、今度はアプリケーションを作成します。 作成は非常に簡単で、コマンドラインから完全に制御できます。 Playでは、標準のアプリケーションテンプレートを作成できます。



コンソールを開き、次を入力します。



~$ play new helloworld







プロジェクトのフルネームを入力するように求められます。 「Hello world」と入力します。



play newコマンドは、helloworld /ディレクトリを作成し、それに多数のファイルとディレクトリを追加します。最も重要なものは次のとおりです。

app /は、アプリケーションのコア(モデル、コントローラー、ビュー)を含みます。 また、Javaクラスの他のパッケージが含まれている場合があります。 これは、アプリケーションソースが置かれているディレクトリです。

conf /にはアプリケーション構成ファイルが含まれます。メイン構成ファイルはapplication.confです。ルートは使用可能なアドレスとメッセージファイルを定義し、アプリケーションの国際化に使用されます。

lib /追加のJavaライブラリが含まれています。

public / JavaScript、スタイルファイル、画像を含む一般公開されているファイルが含まれています。

test /アプリケーションのすべてのテストテストが含まれます。 JUnitとSeleniumの両方のテストを作成できます。



PlayはUTF-8を唯一のエンコーディングとして使用するため、これらのディレクトリにあるすべてのテキストファイルがUTF-8であることが非常に重要です。 テキストエディターが適切に構成されていることを確認します。




おそらく、.classファイルがどこに保存されているのか疑問に思うでしょう。 答えはありません:Playは.classファイルを使用せず、ソースファイルを直接読み取ります。 フレームワークは、Eclipseコンパイラーを使用してオンザフライでコンパイルします。



これは、開発プロセスで2つの非常に重要なことを提供します。 まず、PlayはJavaソースファイルに加えられた変更を検出し、実行時に自動的に再コンパイルします。 次に、エラーが発生すると、Playはエラーの正確なソースコードを示す有益なエラーレポートを生成します。



アプリケーションの起動



これで、新しく作成したアプリケーションをテストできます。 コマンドラインに戻り、helloworld /ディレクトリに移動して、play runコマンドを実行します。 Playはアプリケーションをダウンロードし、ポート9000でWebサーバーを起動します。



ブラウザでアドレスhttp:// localhost:9000を開くと、アプリケーションの結果を確認できます。 新しいアプリケーションには、標準のウェルカムページがあります。 アプリケーションが正常に作成されました。







アプリケーションがこのページをどのように表示するかを見てみましょう。



アプリケーションへのエントリポイントは、conf / routesファイルで定義されます。 アプリケーションで使用可能なすべてのアドレスを決定します。 このファイルを開くと、以下が表示されます。



GET / Application.index







この行は、WebサーバーがGETリクエスト/を受信すると、Application.indexメソッドを呼び出す必要があることをPlayに伝えます。 この場合、コントローラーパッケージは暗黙的であるため、Application.indexはcontrollers.Application.indexへのショートカットです。



Javaアプリケーションを作成するときは、通常、次のように定義された単一のエントリポイントを使用します。



 public static void main(String[] args) { ... }
      
      







Playアプリには、各URLに1つずつ、複数のエントリポイントがあります。 これらのメソッドをアクションメソッドと呼びます。 アクションは、コントローラーと呼ばれる特別なクラスで定義されます。



controllers.Applicationコントローラーとは何かを見てみましょう。 helloworld / app / controllers / Application.javaのソースを開きます。



 package controllers; import play.mvc.*; public class Application extends Controller { public static void index() { render(); } }
      
      







コントローラクラスがplay.mvc.Controllerを継承していることに気付くかもしれません。 このクラスは、index()関数で使用されるrender()メソッドなど、コントローラーに便利なメソッドを提供します。



index()関数はpublic static voidとして定義されています。 したがって、アクションのメソッドが定義されています。 クラスコントローラーは作成されないため、アクションメソッドは静的です。 フレームワークがURLに応答してそれらを呼び出すことができるように、それらはパブリックとしてマークされます。 それらは常にvoidを返します。



デフォルトアクションの呼び出しは簡単です。単にrender()メソッドを呼び出すだけで、テンプレートを表示する必要があることをPlayに知らせます。 テンプレートを使用することが、HTTP応答を取得する最も一般的な方法です(唯一の方法ではありません)。



テンプレートは、/ app / viewsディレクトリにある単純なテキストファイルです。 テンプレートを指定しなかったため、このアクションのデフォルトはApplication / index.htmlになります。



テンプレートの外観を確認するには、helloworld / app / views / Application / index.htmlファイルを開く必要があります。 次のものが含まれます。



 #{extends 'main.html' /} #{set title:'Home' /} #{welcome /}
      
      







デザインテンプレートは非常にシンプルに見えます。 実際、表示されるのはPlayタグのみです。 Playフレームワークタグは、JSP taglibと非常によく似ています。 タグ番号{welcome /}-ブラウザで見た挨拶を生成します。



#{extends /}タグは、このテンプレートがmain.htmlテンプレートを継承することをPlayに伝えます。 テンプレート継承は、共通の部分を再利用することで複雑なWebページを作成できる強力な概念です。



helloworld / app / views / main.htmlテンプレートを開きます。



 <!DOCTYPE html> <html> <head> <title>#{get 'title' /}</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" media="screen" href="@{'/public/stylesheets/main.css'}" /> <link rel="shortcut icon" type="image/png" href="@{'/public/images/favicon.png'}" /> </head> <body> #{doLayout /} </body> </html>
      
      







タグ#{doLayout /}-Application / index.htmlファイルのコンテンツが挿入される場所。



翻訳の終わりは2番目の部分になり、フォームの処理が分析され、設計の変更と自動テストが作成されます。

(パート2)



All Articles