搭建一个简单的SpringBoot项目demo时,项目运行都是成功的,但是当访问http://localhost:8080/时浏览器报错404。
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Apr 20 15:49:45 CST 2018
There was an unexpected error (type=Not Found, status=404).
No message available
问题解决:
1.检查自己要访问的 controller 路径是否在启动类 application 所在包及其子包下。
启动 spring boot 时会扫描有@SpringBootApplication注解的启动类所在包及其子包,根据注解配置注入bean。
如启动类在 com.example.demo下,则 demo 及其子包下的 @Controller都将被扫到,而与 demo 同级的如 com.example.demo2 则无法被扫描
2.检查路径是否正确
假设配置地址与端口为 localhost:8080
要访问如下 IndexController 地址应为 http://localhost:8080/home/index
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/home")
public class IndexController {
@RequestMapping("/index")
public String index() {
return "base/index";
}
3.检查目录 src/main/resources/templates 下是否有自己想要访问的页面
如2中代码 return "base/index",需要 index.html 在文件夹src/main/resources/templates/base 下