Play frameworkのコントローラの使い方を理解するJavaの常識を変えるPlay framework入門(4)(1/3 ページ)

サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、PlayにおけるMVCパターンのコントローラについて、URIやHTTPメソッドなどの扱い方を含めて解説します。

» 2013年05月09日 18時00分 公開
[長谷川智之ビーブレイクシステムズ]

 今までの連載では、Play frameworkにおけるMVCパターンのうち「M」(Model)と「V」(View)について説明してきました。今回は、残りの「C」(Controller)について以下の内容で説明します。

  1. Play frameworkにおけるControllerについて
  2. サンプルアプリ作成の説明
  3. routesファイルについて
  4. Controllerクラスについて

Play frameworkにおけるControllerについて

 前回の記事「Java開発者がScalaでPlay frameworkのビューを作るには」では、Webブラウザからリクエストを受けWebページを生成するまでのPlay frameworkにおけるMVCパターンの概要を簡単に説明しました。前回のおさらいをかねて、Webページを生成する流れを簡単に見てみましょう。

 基本的にはWebブラウザからリクエストを受けてWebページを作成する流れは下記になります。

  1. Controller:WebブラウザからクライアントのHTTPリクエストを受け取る
  2. Controller:conf/routesファイルの定義に基づいて、処理を行うJavaメソッドを特定
  3. Model:処理を実行(DB操作など)する
  4. View:処理結果に基づきHTTPレスポンスを返す

 場合によってはControllerから直接Viewに行く場合(3をスキップする場合)やViewの描画中にModelからのデータをやりとりをすること(View(4)からModel(3)を呼び出してデータを取得し描画に戻る場合など)もあります。

 今回は、Controllerの部分である1と2の部分について説明します。最初に、どのようにコーディングされるのか一通り見た後に詳細を学んだ方が理解しやすいと思うので、実際のサンプルを見ながらControllerについて学んでいきましょう。

サンプル占いアプリ

 今回はコントローラの仕組みを理解するために簡単な占いアプリを作ります。

 名前を入力して名前占いを行います。さらに、その結果には恋愛運と金運についてのリンクボタンもついています。それらを押すと、それぞれの結果を表示します。

手順1.名前を入力して占うボタンを押し、占い結果画面に移動
手順2.名前占いの結果画面を表示した後、恋愛運もしくは金運に移動できる
恋愛運に遷移した場合
金運に遷移した場合

 ただし、今回はあくまでもサンプルアプリなので、実際の占いのロジックは実装しせず、固定の結果しか表示しません。せっかくですので、この記事を読んだ後に独自の占いロジックを追加して、ちょっとしたイベントなどで活躍するWebアプリを作るのも面白いかもしれません。

サンプル占いアプリの作成

 では、サンプルアプリを作ってみましょう。下記はコマンドプロンプトからのアプリ作成手順です。

  1. コマンドプロンプトより「play new uranai_sample」と入力し、uranai_sampleアプリを作成
  2. アプリ名を尋ねられるので、「uranai_sample」と入力
  3. Scalaアプリで作るのかJavaアプリで作るのか尋ねられるので、Javaアプリである「2」を選択

 これでアプリが作成されるので、下記手順でアプリを起動してみましょう。

  1. コマンドプロンプトより「cd uranai_sample」と入力し、uranai_sampleが作成されたディレクトリに移動
  2. 「play」と入力し、プロジェクトを起動
  3. 「run」と入力し、アプリを起動

 起動後、確認のためにWebブラウザを開き「http://localhost:9000/」にアクセスしてください。下記の画面が表示されていれば問題なく起動しています。

注意! バージョン2.1でEclipse用のコマンドが変更

 Play frameworkのバージョンが2.1にアップしてからEclipse用のプロジェクトファイル作成のコマンドが変わりました。現在は下記コマンドでプロジェクトファイルが作成されます。


play eclipse

 もしくは、すでにPlay freameworkを起動中の場合は下記コマンドを使います。


eclipse

 また、Eclipseで作業する際はEclipse外でコンパイルされたファイルがうまく読み込めずエラーが出ることがあります。その際は前回の記事の「起こりやすい3つの問題と解消方法」の【1】を参考に修正してください。


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。