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

为什么Spring项目启动后无法自动跳转至正确的访问路径

问题根因
  • 缺少根路径的请求映射规则:你当前编写的Controller仅配置了/home/showHome路径的处理逻辑,项目启动后默认访问的根路径http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/没有对应的请求处理方法,因此返回404。
  • 未配置默认欢迎页规则:Web容器(如Tomcat)默认会优先查找Web应用根目录下的index.html、index.jsp等默认欢迎文件,若不存在也没有自定义欢迎页配置,就会返回404错误。
  • 此前的项目可以自动跳转,是因为旧项目要么根目录存在欢迎文件、要么提前配置了根路径映射、要么IDE启动配置中预设了默认打开的后缀路径。
解决方案

你可以任选以下任意一种方式修复:

  1. 新增根路径跳转映射
    在现有Home控制器中新增根路径处理方法即可:
@Controller
@RequestMapping("/home")
public class Home {

    // 新增根路径跳转方法
    @RequestMapping("/")
    public String rootRedirect(){
        return "redirect:/home/showHome";
    }

    @RequestMapping("/showHome")
    public String showHome(){
        return "index";
    }
}

如果是注解驱动的SpringMVC项目,也可以通过实现WebMvcConfigurer接口统一配置视图控制器:

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/home/showHome");
    }
}
  1. 配置默认欢迎页
    如果是传统WAR包部署到Tomcat的项目,在web.xml中添加欢迎页配置:
<welcome-file-list>
    <welcome-file>home/showHome</welcome-file>
</welcome-file-list>

也可以直接在webapp根目录下新建index.html,在页面中添加跳转逻辑:

<script>
    location.href = "/E-CommerceFinal-1.0-SNAPSHOT/home/showHome";
</script>
  1. 修改IDE启动默认访问路径
    以IDEA为例,打开Tomcat配置页,在Server标签下的URL输入框中将默认地址修改为http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/home/showHome,后续启动项目就会自动打开正确的访问地址。

内容的提问来源于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 10:09:07