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

Spring Boot中Controller无法返回index.jsp,出现白标错误求助

解决Spring Boot控制器无法关联JSP视图的问题

针对你遇到的控制器返回index却出现白标错误的问题,从依赖配置、视图解析、文件位置三个核心方向排查:

1. 确认JSP相关依赖是否齐全

Spring Boot Starter Web默认不包含JSP解析所需的依赖,需要在pom.xml中手动添加:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

如果是Gradle项目,对应依赖配置:

providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'javax.servlet:jstl'

2. 配置视图解析器路径

在src/main/resources/application.properties中添加JSP视图的前缀和后缀配置:

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

这会让Spring MVC明确去/WEB-INF/views/目录下查找后缀为.jsp的视图文件。

3. 确认JSP文件的存放位置

按照上述配置,index.jsp必须放在src/main/webapp/WEB-INF/views/目录下,目录结构需准确:

src
└── main
    ├── java
    │   └── projetJpa
    │       └── web
    │           ├── Main.java
    │           └── HomeControler.java
    ├── resources
    │   └── application.properties
    └── webapp
        └── WEB-INF
            └── views
                └── index.jsp

如果没有webapp目录,需手动创建(Maven默认不会自动生成该目录)。

4. 简化控制器映射(可选优化)

你的控制器映射可以简化,避免冗余层级,示例如下:

@Controller
public class HomeControler {

    @GetMapping("/")
    public ModelAndView index() {
        return new ModelAndView("index");
    }

}

原有的类注解@RequestMapping("/")加方法注解@RequestMapping(""),和直接使用@GetMapping("/")效果一致,但后者逻辑更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:02:43