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

Spring MVC GET请求遇404错误:无法找到Home.jsp静态资源

Spring MVC 404白标错误问题解决步骤

1. 校验视图解析器配置

确保application.properties中配置了正确的JSP路径前缀和后缀:

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

配置后控制器返回视图名称时,无需手动添加前缀后缀,视图解析器会自动拼接路径。

2. 确认目录结构合规

检查项目目录是否与配置匹配,正确结构应为:

src
└── main
    ├── java
    ├── resources
    └── webapp
        └── WEB-INF
            └── mypages
                ├── Home.jsp
                └── Show.jsp

注意文件名大小写(Linux环境严格区分),以及mypages目录是否确实在WEB-INF下。

3. 检查控制器映射逻辑

确保控制器的请求映射与返回视图名称正确:

@Controller
public class HomeController {
    @GetMapping("/home")
    public String showHome() {
        return "Home"; // 需与JSP文件名完全一致,不能加.jsp或路径前缀
    }
}

避免返回/Home或Home.jsp这类错误格式的视图名。

4. 补全JSP相关依赖

Pom.xml中必须包含JSP解析所需依赖,Spring Boot项目需添加:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <version>9.0.65</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

缺失tomcat-embed-jasper会导致无法解析JSP文件。

5. 清理缓存并重启应用

  • 执行mvn clean install清理编译缓存,重新构建项目
  • 重启应用服务器,确保资源文件被正确加载

6. 验证请求路径正确性

确认请求URL与控制器映射一致,例如控制器映射/home,则请求应为http://localhost:8080/home,禁止直接请求WEB-INF下的JSP文件(该目录资源无法直接访问,必须通过控制器转发)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:32:06