You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot Web MVC应用JSP无法加载,显示白标错误页

解决Spring Boot MVC白标错误页问题

别着急,咱们一步步来排查这个白标错误页的问题——这在Spring Boot MVC入门阶段可太常见了。

1. 先确认控制器配置是否到位

首先得确保你已经创建了带@Controller或@RestController注解的类,并且里面的请求映射路径是正确的。举个例子:

@Controller
public class HomeController {
    // 这个映射路径要和你浏览器访问的路径对应
    @GetMapping("/")
    public String home() {
        // 如果用Thymeleaf这类模板引擎,返回的字符串对应templates目录下的home.html
        return "home";
        // 如果是直接返回JSON数据,换成@RestController,直接return "Hello World"就行
    }
}

要是没有控制器,或者映射路径和你访问的URL不匹配,Spring找不到对应的处理逻辑,自然就返回白标错误页了。

2. 检查主类的包扫描范围

你的主类标注了@SpringBootApplication,这个注解默认只会扫描主类所在包及其子包下的组件。比如主类在com.example.myapp包,那控制器得放在com.example.myapp或者它的子包(比如com.example.myapp.controller)里,不然Spring根本扫不到你的控制器。

如果控制器在其他包,得手动指定扫描范围:

@SpringBootApplication(scanBasePackages = "com.example.otherpackage")
public class MyApplication extends SpringBootServletInitializer {
    // 你的其他代码
}

3. 静态资源/模板文件的位置要对

如果是返回HTML页面(比如用Thymeleaf):

  • 先确认依赖加对了,Maven的话在pom.xml里加:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  • HTML文件必须放在src/main/resources/templates目录下,文件名要和控制器返回的字符串一致(比如返回"home"就对应home.html)。

如果是直接访问静态页面(比如index.html),要把文件放在src/main/resources/static目录下,访问路径是http://localhost:8080/index.html。

4. 看看启动日志有没有线索

在IntelliJ的控制台里,找一找应用启动时的日志,有没有类似这样的内容:

Mapping GET "/" onto public java.lang.String com.example.myapp.controller.HomeController.home()

要是看不到这类日志,说明控制器没被Spring识别,回到步骤2检查包扫描范围就好。

5. 确认请求路径和端口都没错

比如控制器映射的是/hello,那你浏览器得访问http://localhost:8080/hello,而不是根路径/;另外如果你改了默认端口(不是8080),访问URL也要对应调整。

最后补全你的主类代码

你提供的主类代码截断了,记得把main方法补完整,这可是Spring Boot应用的启动入口:

public static void main(String[] args) {
    SpringApplication.run(MyApplication.class, args);
}

先从这几个点排查,大概率能找到问题所在。

内容的提问来源于stack exchange,提问作者RLeyva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:50:02