カテゴリ: Spring 更新日: 2025/07/19

HTMLファイルを作って画面表示する基本の流れを完全解説!初心者向けSpring Boot入門

HTMLファイルを作って画面表示する基本の流れ
HTMLファイルを作って画面表示する基本の流れ

新人と先輩の会話形式で理解しよう

新人

「先輩、HTMLファイルを作って画面に表示するって、どうやるんですか?Spring Bootを使うと簡単って聞いたんですが…」

先輩

「その通りだよ。Spring BootとThymeleafを使えば、HTMLファイルをブラウザで簡単に表示できるんだ。」

新人

「でも、HTMLって静的なページっていうイメージがあるんですけど、動きがある画面も作れるんですか?」

先輩

「もちろん!Spring BootでThymeleafを使えば、JavaのデータをHTMLに埋め込んで、動的に画面を作れるんだよ。まずは基本の仕組みから一緒に見ていこうか。」

1. Webアプリケーションとは?HTMLで画面を作る理由

1. Webアプリケーションとは?HTMLで画面を作る理由
1. Webアプリケーションとは?HTMLで画面を作る理由

Webアプリケーションとは、インターネットを通じて操作するアプリケーションのことです。たとえば、ショッピングサイトやブログ、会員制サイトなどが該当します。

このようなWebアプリケーションでは、ユーザーがブラウザで見る画面を作るためにHTMLファイルが使われます。HTMLは、画面の見た目や構造を定義するための言語です。

たとえば、「こんにちは、○○さん」と表示したいときには、HTMLで見出しや段落を作り、その中にテキストを埋め込むことで、ブラウザに内容を表示できます。

HTMLファイル 表示を行うには、ファイルを正しい場所に置き、URLと連携させて動かす必要があります。この動きを支援するのがSpring Bootです。

2. Spring BootでHTMLファイルを画面に表示する基本の仕組み

2. Spring BootでHTMLファイルを画面に表示する基本の仕組み
2. Spring BootでHTMLファイルを画面に表示する基本の仕組み

Spring Boot HTML 表示の基本的な流れは以下の通りです。

  1. PleiadesでSpring Bootプロジェクトを作成(Gradle形式)
  2. Thymeleafの依存関係を追加(チェックボックスでOK)
  3. @Controllerを使ってURLとHTMLを紐づけ
  4. templatesフォルダにHTMLファイルを置く

たとえば、「/hello」というURLにアクセスしたときに「hello.html」が表示されるようにするには、以下のように@Controllerを作成します。


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}

次に、以下のようなHTMLファイルをsrc/main/resources/templatesに配置します。


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Hello Page</title>
</head>
<body>
    <h1>こんにちは!Spring Bootの世界へようこそ!</h1>
</body>
</html>

この状態でSpring BootアプリケーションをPleiadesから起動し、ブラウザでhttp://localhost:8080/helloにアクセスすれば、作成したHTMLファイルが表示されます。

3. 静的HTMLと動的HTMLの違い(テンプレートの基本概念)

3. 静的HTMLと動的HTMLの違い(テンプレートの基本概念)
3. 静的HTMLと動的HTMLの違い(テンプレートの基本概念)

HTMLには「静的HTML」と「動的HTML」の2つの使い方があります。

  • 静的HTML:ファイルに書かれた内容がそのまま表示される。毎回同じ内容。
  • 動的HTML:Javaなどで処理した値をHTMLに埋め込んで、その都度変化する内容を表示。

Spring Bootでは、Thymeleafというテンプレートエンジンを使って、動的HTMLを作成できます。テンプレートエンジンとは、HTMLの中にプレースホルダ(${変数}のような形式)を書いておき、そこにJavaで用意したデータを差し込む仕組みです。

たとえば、以下のようにコントローラでデータを渡すことができます。


@GetMapping("/message")
public String message(Model model) {
    model.addAttribute("name", "佐藤さん");
    return "message";
}

そして、テンプレート側では次のように書くと、${name}に「佐藤さん」が埋め込まれて表示されます。


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>動的ページ</title>
</head>
<body>
    <p th:text="'こんにちは、' + ${name} + '!'">こんにちは!</p>
</body>
</html>

このように、Spring Boot HTML 表示を行う際にThymeleafを使えば、動的に値を変えて、ユーザーごとに異なるメッセージを表示することができます。

テンプレートを使うことで、HTMLファイルの再利用性が高まり、開発効率が大幅にアップします。これが、Spring BootでHTMLを表示するときにテンプレートエンジンを使う大きな理由です。

4. プロジェクトの作成手順(Pleiadesでの操作手順)

4. プロジェクトの作成手順(Pleiadesでの操作手順)
4. プロジェクトの作成手順(Pleiadesでの操作手順)

それでは、実際にSpring Bootを使ってHTMLファイルを画面に表示するためのプロジェクトを作成してみましょう。ここでは、Pleiades(プレアデス)という日本語対応のEclipseベースIDEを使って、初心者でも迷わず操作できるようにステップ形式で紹介します。

  1. Pleiadesを起動し、メニューから「ファイル → 新規 → Spring スターター・プロジェクト」を選択します。
  2. プロジェクト名やパッケージ名を入力し、「次へ」をクリックします。
  3. ビルドツールの選択画面では必ず「Gradle」を選びます。Mavenは今回使用しません。
  4. 次の「依存関係」の画面で、チェックボックスから以下の2つを選択してください:
    • Spring Web
    • Thymeleaf
  5. 最後に「完了」をクリックすると、Spring Bootの基本構成が整ったプロジェクトが生成されます。

これで、ThymeleafとWeb機能があらかじめ組み込まれた状態のプロジェクトが作成されます。このあとHTMLファイルの表示や、@Controllerでの処理がすぐに試せる準備が整います。

5. Spring BootにThymeleafを設定する(starter追加とbuild.gradle記述)

5. Spring BootにThymeleafを設定する(starter追加とbuild.gradle記述)
5. Spring BootにThymeleafを設定する(starter追加とbuild.gradle記述)

先ほどPleiadesでプロジェクトを作成した際に、Thymeleaf starterをチェックで追加しました。これはGradleの依存関係として設定されており、プロジェクト内のbuild.gradleファイルに自動で記述されます。

念のため、build.gradleファイルのdependenciesセクションを確認してみましょう。以下のようになっていればOKです。


dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

この2つのstarterを追加することで、Spring Boot HTML 表示の準備が整います。Thymeleaf starterを含めることで、Spring Bootがresources/templatesにあるHTMLファイルをテンプレートとして認識し、自動的に処理してくれます。

また、Web starterを入れることで、@Controllerを使ったルーティング(URLと画面の対応)も可能になります。

6. コントローラの作成とHTMLテンプレートの連携の基本

6. コントローラの作成とHTMLテンプレートの連携の基本
6. コントローラの作成とHTMLテンプレートの連携の基本

プロジェクトと依存関係の設定が完了したら、次は@Controllerを使ってHTMLテンプレートと連携する方法を学びましょう。

ここでは「welcome」というHTMLファイルをブラウザで表示する例を紹介します。

① コントローラクラスの作成

まずは、下記のようにJavaクラスを作成します。src/main/java配下にパッケージを作成し、その中にコントローラを作りましょう。


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class WelcomeController {

    @GetMapping("/welcome")
    public String welcome(Model model) {
        model.addAttribute("username", "高橋さん");
        return "welcome";
    }
}

このコードでは、@Controllerを使って「/welcome」というURLにアクセスがあったときに、「welcome.html」というテンプレートを表示するようにしています。また、model.addAttribute()でJavaの値をHTMLに渡しています。

② HTMLテンプレートの作成

次に、HTMLファイルを作成します。テンプレートは必ずsrc/main/resources/templatesに配置します。ここではwelcome.htmlという名前で作成します。


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Welcome Page</title>
</head>
<body>
    <h1 th:text="'ようこそ、' + ${username} + '!'">ようこそ!</h1>
</body>
</html>

このテンプレートでは、th:text属性を使って、Java側から渡された「username」の値をHTMLに表示しています。Thymeleafの構文では、${変数}で受け取った値を使うことができます。

③ ブラウザで確認

Pleiadesでプロジェクトを右クリックして「実行 → Java アプリケーション」を選ぶと、Spring Bootアプリケーションが起動します。

その状態でブラウザを開き、次のURLにアクセスしてください:

http://localhost:8080/welcome

以下のような画面が表示されていれば成功です。


ようこそ、高橋さん!

このように、Thymeleaf starterを導入し、コントローラでreturnするだけで、簡単にHTMLファイル 表示ができるのがSpring Bootの大きなメリットです。テンプレートエンジンとの連携も非常にスムーズで、複雑な設定は不要です。

7. テンプレートファイルの配置場所と命名ルール

7. テンプレートファイルの配置場所と命名ルール
7. テンプレートファイルの配置場所と命名ルール

Spring BootでHTMLを表示するには、HTMLファイルを正しいフォルダに配置する必要があります。Thymeleafを使う場合、テンプレートファイルはsrc/main/resources/templatesというディレクトリに置くのがルールです。

Thymeleaf テンプレート 場所としてこのフォルダがあらかじめ設定されているため、開発者が特に設定を変更しなくても、Spring Bootが自動的にテンプレートを探してくれる仕組みになっています。

テンプレートファイルの拡張子は.htmlにする必要があります。たとえば「home.html」や「index.html」などです。

また、ファイル名にはJava側の@Controllerで指定するreturn値と一致させる必要があります。たとえば、次のようにreturn "home";と書いた場合は、「home.html」というテンプレートファイルを作っておく必要があります。


@GetMapping("/home")
public String home() {
    return "home"; // ファイル名は home.html
}

ファイルの命名は基本的に英数字で構成すれば問題ありません。日本語やスペースは避けましょう。

8. ブラウザでの表示確認手順

8. ブラウザでの表示確認手順
8. ブラウザでの表示確認手順

テンプレートを正しく配置し、コントローラとURLの設定が完了したら、いよいよSpring Boot HTML 表示の動作確認を行いましょう。以下は、実行からブラウザで確認するまでの手順です。

  1. PleiadesのプロジェクトエクスプローラーでDemoApplication.javaなどのメインクラスを右クリックします。
  2. 実行 → Java アプリケーション」を選択すると、コンソールに起動ログが表示されます。
  3. 「Started DemoApplication in ~」というメッセージが表示されたら、Spring Bootアプリケーションは正常に起動しています。
  4. ブラウザを開いて、URLバーにhttp://localhost:8080/homeなど、コントローラで定義したURLを入力してアクセスします。

テンプレートが正しく表示されれば、HTMLファイルの画面表示が成功しています。

たとえば、以下のようなテンプレートを用意していた場合:


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Home</title>
</head>
<body>
    <h1>トップページへようこそ!</h1>
</body>
</html>

ブラウザには次のように表示されます。


トップページへようこそ!

このようにして、自分で作成したHTMLファイルがブラウザに表示されるかを簡単に確認することができます。

9. 初心者がよくやるミスと対策

9. 初心者がよくやるミスと対策
9. 初心者がよくやるミスと対策

ここでは、Spring BootとThymeleafを使ってHTMLファイル 表示を行う際に、初心者がつまずきやすいポイントをまとめて紹介します。

① テンプレートの配置場所を間違える

ミスの内容:HTMLファイルをresources/staticsrc/main/javaに置いてしまう。

対策:テンプレートファイルは必ずsrc/main/resources/templatesに置いてください。Thymeleaf テンプレート 場所は決まっているので、それ以外の場所では動作しません。

② コントローラのreturnに拡張子をつけてしまう

ミスの内容:return "home.html";と書いてしまう。

対策:@Controllerでテンプレートを返すときは拡張子を含めず、ファイル名だけを指定します。


return "home"; // 正しい書き方

③ HTMLの拡張子が間違っている

ミスの内容:home.htmhome.textなど、間違った拡張子にしてしまう。

対策:テンプレートの拡張子は必ず.htmlにしましょう。

④ HTMLにThymeleafの名前空間を指定していない

ミスの内容:テンプレートファイルでth:textを使っているのに、xmlns:th="http://www.thymeleaf.org"を書いていない。

対策:テンプレートファイルの<html>タグに次のように記述してください。


<html xmlns:th="http://www.thymeleaf.org">

⑤ URLと@GetMappingのパスが一致していない

ミスの内容:ブラウザで/helloにアクセスしているが、コントローラは/welcomeになっている。

対策:アクセスURLは@GetMapping()に定義したパスと一致させましょう。

⑥ Javaファイルを実行していない

ミスの内容:HTMLだけ作ってJavaのアプリケーションを起動していない。

対策:PleiadesでDemoApplicationを右クリックし、「Javaアプリケーションとして実行」を選んでください。

これらのミスを避けることで、初心者でもスムーズにSpring Boot HTML 表示を行うことができるようになります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Java の main メソッドとは?基本の書き方を学ぼう
Javaとは?初心者向けにやさしく解説
Spring Bootのディレクトリ構成と役割とは?初心者でもわかる完全ガイド
@Entity, @Id, @GeneratedValueの使い方を覚えよう|Springのデータベース連携入門
人気記事
No.1
Java&Spring記事人気No1
SQLのINSERT文を完全ガイド!初心者でもわかるデータの追加方法
No.2
Java&Spring記事人気No2
SQLのサブクエリを完全ガイド!入れ子クエリの使い方を初心者向け解説
No.3
Java&Spring記事人気No3
HTMLのセレクトボックス(プルダウン)の使い方を完全ガイド!selectとoptionの基本を覚えよう
No.4
Java&Spring記事人気No4
SQLのトリガー(TRIGGER)を完全ガイド!初心者でもわかる自動処理の仕組み