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

SpringBoot集成Tomcat9访问视图返回404错误问题排查求助

问题排查方向

  • 最可能的核心问题:DispatcherServlet配置文件命名不匹配
    Spring MVC默认读取的DispatcherServlet配置文件命名规则为<servlet-name>-servlet.xml,你的web.xml中servlet-name配置为dispatcher,因此配置文件必须命名为dispatcher-servlet.xml,你当前命名为Dispatcher_Servlet.xml,大小写、命名格式均不符合要求,Spring无法读取配置,导致映射不生效。
    同时要确认该配置文件放在项目的WEB-INF根目录下,放错路径也会导致配置不加载。
  • 视图文件缺失
    你配置的视图解析器规则为前缀/WEB-INF/views/、后缀.jsp,需要确保项目中存在/WEB-INF/views/home.jsp文件,文件不存在会直接返回404。
  • 请求路径错误
    访问路径需要匹配项目的上下文路径,比如Tomcat部署时你的项目上下文路径为emusicstore,则正确的访问地址为http://localhost:8080/emusicstore/home,直接访问http://localhost:8080/home会触发404。
  • SpringBoot项目配置兼容问题
    如果你创建的是标准SpringBoot项目,传统的web.xml、DispatcherServlet XML配置方式默认不生效,SpringBoot的自动配置会覆盖XML配置。此时需要删除XML配置,在application.properties中添加以下配置即可:
    spring.mvc.view.prefix=/WEB-INF/views/
    spring.mvc.view.suffix=.jsp
    
    另外如果是将SpringBoot项目打成war包部署到外置Tomcat,需要让启动类继承SpringBootServletInitializer,重写configure方法,否则请求无法被Spring接收。
  • 包路径匹配问题
    确认你的homeController类确实在com.emusicstore.controller包下,没有写错包名,否则<context:component-scan base-package="com.emusicstore"/>无法扫描到控制器类,映射不会注册。

内容的提问来源于stack exchange,提问作者Schrodinger Cat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:18:00