カテゴリ: Play Framework 更新日: 2026/01/06

Play FrameworkのControllerクラスの基本的な書き方を完全解説|Java初心者向けコントローラ入門

Controllerクラスの基本的な書き方
Controllerクラスの基本的な書き方

先生と生徒の会話形式で理解しよう

生徒

「Play Frameworkでアプリを作り始めたんですが、Controllerクラスって何をするものなんですか?」

先生

「Play FrameworkのControllerクラスは、ブラウザから送られてきたリクエストを受け取り、どんなレスポンスを返すかを決める大切な役割を持っています。」

生徒

「Servletみたいなものですか?」

先生

「考え方は似ていますが、Play Frameworkではもっとシンプルで読みやすい書き方ができます。まずは基本的なControllerクラスの形から見ていきましょう。」

1. Play FrameworkにおけるControllerクラスの役割

1. Play FrameworkにおけるControllerクラスの役割
1. Play FrameworkにおけるControllerクラスの役割

Play FrameworkのControllerクラスは、Webアプリケーションの中心的な存在です。 ブラウザやAPIクライアントから送信されたHTTPリクエストを受け取り、その内容に応じて処理を行い、 最終的にHTTPレスポンスを返します。 Javaで書かれたPlay Frameworkでは、ControllerクラスはMVCモデルの「C」にあたります。

初心者の方は「Controllerは画面を表示するためのクラス」と思いがちですが、 正確には「リクエストを受け取り、どの処理を行い、どんな結果を返すかを判断するクラス」です。 画面を表示する場合は、ビューを呼び出し、その結果をレスポンスとして返します。

このようにControllerクラスを理解することは、Play Frameworkの基礎を理解するうえで欠かせません。 ルーティングやビューと深く関わるため、まずはControllerの基本構造をしっかり押さえましょう。

2. Controllerクラスの基本構造

2. Controllerクラスの基本構造
2. Controllerクラスの基本構造

Play FrameworkのJava版では、Controllerクラスは通常 controllers パッケージの中に作成します。 クラスは play.mvc.Controller を継承し、レスポンスを返すために Result 型を使います。

まずは最も基本的なControllerクラスの例を見てみましょう。 ここでは、アクセスされたときにシンプルな文字列を返すだけの処理を行います。


package controllers;

import play.mvc.Controller;
import play.mvc.Result;

public class HomeController extends Controller {

    public Result index() {
        return ok("Hello Play Framework");
    }
}

このコードでは index というメソッドが定義されています。 このメソッドがブラウザから呼び出されることで、文字列「Hello Play Framework」が表示されます。 ok はHTTPステータスコード200を表し、正常なレスポンスであることを示します。

Controllerクラスでは、このように「Resultを返すメソッド」を複数定義することで、 さまざまなリクエストに対応できます。

3. Resultとレスポンスの基本

3. Resultとレスポンスの基本
3. Resultとレスポンスの基本

Play FrameworkのControllerでは、処理結果として必ず Result を返します。 ResultはHTTPレスポンスそのもので、ステータスコード、ヘッダー、ボディの情報を持っています。

よく使われるレスポンスには、文字列を返すもの、HTMLを返すもの、エラーを返すものなどがあります。 まずは文字列を返すパターンをしっかり理解することが大切です。


public Result hello() {
    return ok("こんにちは、Play Framework");
}

このメソッドでは、日本語の文字列をそのまま返しています。 ブラウザでアクセスすると、その内容が画面に表示されます。 初心者の方は、まずこのような簡単なレスポンスを返す処理から練習すると理解しやすくなります。

また、ステータスコードを変更したい場合は badRequestnotFound などのメソッドも利用できます。 Controllerクラスには、Web開発でよく使う機能があらかじめ用意されています。

4. パラメータを受け取るControllerメソッド

4. パラメータを受け取るControllerメソッド
4. パラメータを受け取るControllerメソッド

Controllerクラスでは、URLに含まれる値やリクエストの情報を受け取ることもできます。 ここでは、シンプルにメソッドの引数として値を受け取る例を紹介します。

例えば、名前を受け取って挨拶を返すControllerメソッドは次のように書けます。


public Result greet(String name) {
    return ok("こんにちは、" + name + "さん");
}

このように引数を使うことで、動的なレスポンスを返すことができます。 実際にはルーティング設定と組み合わせて使いますが、 Controllerクラス自体は「受け取った値を使ってResultを返す」というシンプルな考え方です。

初心者の方は、Controllerで複雑な処理を詰め込みすぎないことが重要です。 役割はあくまでリクエストとレスポンスの橋渡しであることを意識しましょう。

5. Controllerクラスを書くときの注意点

5. Controllerクラスを書くときの注意点
5. Controllerクラスを書くときの注意点

Play FrameworkのControllerクラスを書くときは、いくつか意識しておきたいポイントがあります。 まず、Controllerはできるだけシンプルに保つことが大切です。 ビジネスロジックを大量に書いてしまうと、後から修正しづらくなります。

また、メソッド名は処理内容が分かるように命名しましょう。 index、hello、greetなど、アクセスしたときに何が起きるのかが想像できる名前がおすすめです。

Play Frameworkでは、Controllerクラスとルーティング、ビューが連携して動作します。 まずはController単体の役割を正しく理解し、次のステップでビューとの連携を学ぶとスムーズです。

この段階では、HTTPリクエストの細かい仕組みや高度な機能を無理に覚える必要はありません。 Controllerクラスの基本的な書き方と考え方を身につけることが、今後の学習の土台になります。

カテゴリの一覧へ
新着記事
New1
Play Framework
Play Frameworkのフォーム処理完全ガイド!メールアドレス・電話番号の形式チェック
New2
Jakarta EE
Jakarta EE JSFカスタムコンポーネントとは?初心者向けに基礎から徹底解説【Jakarta Faces・Webアプリ開発】
New3
Play Framework
Play Frameworkのフォーム処理を完全ガイド!文字数制限と正規表現バリデーション
New4
Jakarta EE
Jakarta EEのJSFマネージドBean入門!Jakarta Facesで学ぶ基本と役割を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta サーブレットのdoGetとdoPostの違いと使い分けを徹底解説!初心者でもわかるHTTPリクエスト処理
No.2
Java&Spring記事人気No2
Play Framework
Play Frameworkで学ぶ単純なフォーム作成方法!初心者でもわかる名前・メールアドレス入力
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EEのリリースサイクルとバージョンの進化をやさしく解説!
No.4
Java&Spring記事人気No4
Play Framework
Play FrameworkのUI設計を最適化!Twirlテンプレートのベストプラクティス
No.5
Java&Spring記事人気No5
Play Framework
Play Frameworkのデータバインディングを完全解説!初心者でもわかるフォーム入力と自動変換の仕組み
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta EE JSFカスタムコンポーネントとは?初心者向けに基礎から徹底解説【Jakarta Faces・Webアプリ開発】
No.7
Java&Spring記事人気No7
Play Framework
Play Frameworkのフォーム処理を完全ガイド!文字数制限と正規表現バリデーション
No.8
Java&Spring記事人気No8
Jakarta EE
Jakarta EEのJSFマネージドBean入門!Jakarta Facesで学ぶ基本と役割を初心者向けに徹底解説