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

Spring MVC整合Tomcat时出现404 Not Found错误,无法显示首页求助

Spring MVC整合Tomcat时出现404 Not Found错误,无法显示首页求助

你好,我看你在搭建Spring MVC项目时碰到了首页404的问题,结合你贴出来的代码和配置,我帮你梳理几个大概率的问题点:

1. 视图解析器的后缀配置错误(最明显的问题)

在你的dispatcher-serverlet.xml里,视图解析器的suffix属性多了个斜杠!你写的是.jsp/,这会让Spring MVC去寻找/WEB-INF/views/home.jsp/这种不存在的路径,直接把斜杠去掉改成.jsp就好:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp" />
</bean>

2. 配置文件名拼写错误

你的web.xml里配置的servlet名字是dispatcher,Spring MVC默认会加载[servlet-name]-servlet.xml格式的配置文件,但你现在的配置文件名是dispatcher-serverlet.xml——注意是servlet不是serverlet!这个拼写错误会导致Spring找不到你的配置,组件扫描、注解驱动这些配置都不会生效,控制器自然也不会被注册。把文件名改成dispatcher-servlet.xml就对了。

3. 版本兼容性问题(Tomcat 10的坑)

Tomcat 10用的是Jakarta EE规范,包名从原来的javax.*改成了jakarta.*,如果你用的是Spring MVC 5.x版本,它是基于旧的Java EE规范的,两者会不兼容,导致控制器无法正常工作。解决办法要么升级到Spring MVC 6.x版本,要么换成Tomcat 9。

4. 其他需要核对的点

  • 确认home.jsp确实放在/WEB-INF/views/目录下,文件名和控制器返回的"home"完全一致(大小写也要对应);
  • 检查项目部署到Tomcat后的上下文路径:如果你的项目部署时设置了上下文路径(比如/mystore),那访问首页的URL应该是http://localhost:8080/mystore/,而不是直接访问根路径;
  • 确认context:component-scan的base-package是com.mystore,你的控制器在com.mystore.controller下,这个扫描范围是对的,但如果前面的配置文件加载失败,这个扫描也不会生效。

你可以先把前两个明显的错误修正,重启Tomcat试试,如果还是不行,可以补充下你的Spring MVC版本或者项目结构的截图,我再帮你进一步排查。

备注:内容来源于stack exchange,提问作者aiden021

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:49:27