Springboot Whitelabel错误页面


问题内容

我坚持使用这个简单的MVC示例。当我启动应用程序并转到localhost:8080时,即使在“ src / main / resources /
templates”中创建了“ index.html”,我也得到了“ Whitelabel Error
Page”。我还在索引方法上添加了@RequestMapping(“ /”)。我找不到问题。

IndexController.java

package controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
  @RequestMapping("/")
  public String index(){
    return "index";
  }
}

SpringmvcApplication.java

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

index.html -在“ src / main / resources / templates”下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<title>Hello Spring MVC</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h1>Hello World</h1>
<h2>This is my Thymeleaf index page.</h2>
</body>
</html>

问题答案:

正如您在日志中看到的那样,Spring找不到并注册了您的控制器。可能是因为它属于尚未自动扫描类的软件包。为了解决这个问题,我建议将代码的结构更新为文档中建议结构。解决该问题的另一种方法是尝试@ComponentScan手动指定。