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

Spring Controller配置@RequestMapping映射访问返回404问题咨询

问题原因分析

你的第一次映射配置无效是两个核心原因导致的:

  • 请求路径不匹配
    你初始版本的方法映射路径配置为@RequestMapping("/showHome"),说明只有请求路径为{应用根路径}/showHome时才会匹配到该方法。你直接访问应用根路径http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/时,Spring MVC找不到对应/路径的处理器,自然返回404错误。
  • @Controller注解参数使用误区
    你写的@Controller("home")中,括号内的"home"只是给当前Controller对应的Spring Bean设置自定义名称,不会添加请求路径前缀。如果你需要给类下所有接口统一添加路径前缀,应该在类上额外加@RequestMapping("/home")注解,和@Controller本身的参数无关。
修改后代码生效的原因

调整后的代码把方法映射路径改成了@RequestMapping("/"),刚好匹配你访问的应用根路径,请求可以成功匹配到showHome方法,返回的逻辑视图名index会经过你配置的视图解析器,拼接为/WEB-INF/view/index.jsp的实际资源路径,所以可以正常加载页面。

可选拓展方案

如果你需要保留初始的/showHome映射规则,有两种实现方式:

  • 访问时主动加路径后缀,访问地址改为 http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/showHome
  • 配置默认根路径跳转,在Spring MVC配置类中添加如下配置:
@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("forward:/showHome");
}

这样访问根路径时会自动转发到/showHome对应的处理逻辑,不需要修改原有Controller的映射配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:15:02