質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.41%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

190閲覧

VSCodeを利用したSpring bootの環境構築で404エラー

t-k-t-u

総合スコア1

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2023/12/06 10:24

VSCodeを利用したSpring Bootの環境構築について勉強しています。
そこで、@Controllerを利用してindex.htmlファイルの表示をしようと試みております。
ですが、以下のエラーメッセージが表示され期待する動作が得られません。

web上の色々なサイトを調べても解決ができなかったため、ご助言いただけますと幸いです。
不足している情報などがあれば返信や追記させていただきますので、お手数ですがご指摘ください。


発生している問題・エラーメッセージ

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Dec 06 19:16:24 JST 2023 There was an unexpected error (type=Not Found, status=404).

ファイル構造

src └─main ├─java │ └─com │ └─example │ └─spring_demo │ │ SpringDemoApplication.java │ │ │ └─controller │ HelloController.java │ └─resources │ application.properties │ ├─static └─templates index.html

該当のソースコード

SpringDemoApplication.java

package com.example.spring_demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringDemoApplication.class, args); } }

HelloController.java

package com.example.spring_demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; @Controller public class HelloController { @RequestMapping("/") public String start() { return "index";   } }

index.html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ハロワ</title> </head> <body> <h1>Hello World</h1> </body> </html>

実行ログ

. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.0) 2023-12-06T18:47:12.334+09:00 INFO 22656 --- [ main] c.e.spring_demo.SpringDemoApplication : Starting SpringDemoApplication using Java 21.0.1 with PID 22656 (C:\programs\Java\spring_demo\target\classes started by xxxx in C:\program\Java\spring_demo) 2023-12-06T18:47:12.337+09:00 INFO 22656 --- [ main] c.e.spring_demo.SpringDemoApplication : No active profile set, falling back to 1 default profile: "default" 2023-12-06T18:47:13.664+09:00 INFO 22656 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2023-12-06T18:47:13.671+09:00 INFO 22656 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2023-12-06T18:47:13.671+09:00 INFO 22656 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.16] 2023-12-06T18:47:13.715+09:00 INFO 22656 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2023-12-06T18:47:13.715+09:00 INFO 22656 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1318 ms 2023-12-06T18:47:14.462+09:00 INFO 22656 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator' 2023-12-06T18:47:14.542+09:00 INFO 22656 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2023-12-06T18:47:14.554+09:00 INFO 22656 --- [ main] c.e.spring_demo.SpringDemoApplication : Started SpringDemoApplication in 2.524 seconds (process running for 2.835) 2023-12-06T18:47:15.792+09:00 INFO 22656 --- [on(1)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2023-12-06T18:47:15.792+09:00 INFO 22656 --- [on(1)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2023-12-06T18:47:15.793+09:00 INFO 22656 --- [on(1)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms

■使用した拡張機能

  • Java Extension Pack
  • Spring Boot Extension Pack

■構築内容

  • project type:Spring Boot
  • build:Maven
  • spring version:3.2.0
  • language:java
  • packaging type:jar

■アクセス先
localhost:8080/

試したこと

  • エラー内容からコンポーネントスキャンの問題だと判断し、コントローラーファイルの位置を変更したり、@ComponentScanを指定した実行を試したが、同様のエラー結果であった。

  • 新規にプロジェクトを作成し直したりもしたが結果変わらず。

  • @Controllerではなく、@RestControllerを利用した直打ちの文字列などは表示できました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KT001

2023/12/06 12:02

@RestControllerが表示できるとのことなので、問題はThymeleafあたりかなとは思うのですが、pom.xml内にspring-boot-starter-thymeleafなどは含まれておりますでしょうか。 また、Thymeleafを含んだ状態で、import org.springframework.stereotype.Controllerをインポートし直しても動作しないでしょうか。
t-k-t-u

2023/12/07 00:09

ご質問ありがとうございます。 ご指摘いただいた通り、pom.xmlにthymeleafは含まれておりませんでした。 pom.xml内にspring-boot-starter-thymeleafの依存関係を追加し、Controllerを再インポートしたところ無事解決ができました。 本当にありがとうございました!
KT001

2023/12/07 10:35

依存関係は分かりづらかったりするので、動いて良かったです!
guest

回答1

0

自己解決

IT001様にご指摘いただいた内容を実行したところ、無事期待する動作が得られました。

問題点は、pom.xmlにthymeleafは含まれていない点でした。
解決手順として、pom.xml内にspring-boot-starter-thymeleafの依存関係を追加し、HelloController.java内のControllerを再インポートしたところ無事解決ができました。

IT001様、本当にありがとうございました。

投稿2023/12/07 00:17

t-k-t-u

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.41%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問