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

Spring MVC项目部署Tomcat9后访问报404资源不可用问题求助

问题排查及解决方案
  • 第一个问题:DispatcherServlet映射路径配置错误
    你当前web.xml里DispatcherServlet的url-pattern配置为/spring-mvc-demo,这意味着只有请求路径为 http://<host>:<port>/<应用上下文路径>/spring-mvc-demo 时才会被Spring MVC的核心分发器处理。你默认的应用上下文路径是/spring-mvc-demo,所以直接访问/spring-mvc-demo/时,请求根本没有进入DispatcherServlet,自然返回404。
    修改方案:将web.xml里的servlet-mapping的url-pattern改为/,所有应用内的请求都会交由DispatcherServlet处理:
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
  • 第二个问题:验证组件扫描是否生效
    你配置的<context:component-scan base-package="main.webapp" />理论上会扫描所有子包下的Spring组件,启动服务时可以观察控制台是否打印HomeController bean getting intiated这段日志,如果没有打印,说明Controller没有被Spring容器实例化,可以将base-package修改为Controller所在的完整包路径验证:
<context:component-scan base-package="main.webapp.springdemo.controller" />
  • 第三个问题:检查视图文件是否存在
    确认你的项目路径下是否存在/WEB-INF/view/main-menu.jsp文件,如果文件缺失,请求进入Controller后也会返回404错误。
  • 额外验证点:检查依赖包部署是否完整
    确认你项目依赖的Spring核心包、Spring Web MVC包等所有依赖jar包,都已经被部署到Tomcat应用的WEB-INF/lib目录下,如果缺失依赖,Controller也无法正常实例化,会出现404问题。

修改完成后重新部署项目,访问http://localhost:8080/spring-mvc-demo/即可正常打开页面。

内容的提问来源于stack exchange,提问作者ANKIT SRIVASTAVA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:09:04