カテゴリ: 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でフォームデータをコントローラで扱う方法を完全解説|Java初心者向けコントローラ入門
New2
Jakarta EE
Jakarta EE JSPにおけるJSTLとスクリプトレットの違いと使い分けを初心者向けに徹底解説
New3
Play Framework
Play Frameworkでクエリパラメータをコントローラで処理する方法を完全解説|Java初心者向け入門
New4
Play Framework
Play FrameworkとSpring Bootの違いを徹底比較!初心者でもわかるJavaフレームワーク入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEのリリースサイクルとバージョンの進化をやさしく解説!
No.2
Java&Spring記事人気No2
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.5
Java&Spring記事人気No5
Jakarta EE
Jakarta EE JSPでJSTL SQLタグを使った簡易データベースアクセスをやさしく解説
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta EE JSPにおけるJSTL国際化タグ(fmt:message)の使い方を初心者向けに完全解説
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EE JSPでJSTLを使ったJSONやREST APIレスポンス処理を初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Play Framework
Play Frameworkでリクエストデータの受け取り方を完全解説|Java初心者向けコントローラ入門