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

Spring MVC项目启动无报错但出现404错误,求问题排查帮助

排查Spring MVC 404无启动报错问题的步骤

1. 版本兼容性检查

Tomcat 10.x基于Servlet 5.0,要求Spring MVC版本为Spring 6.x及以上。如果项目使用Spring 5.x及更低版本,会因API包名从javax.servlet变更为jakarta.servlet,导致控制器无法被Spring容器扫描识别。直接查看项目依赖中spring-webmvc的版本,确认是否匹配Tomcat 10的要求。

2. 组件扫描与控制器注解验证

  • 检查Spring配置类是否添加@ComponentScan注解,且扫描路径覆盖控制器所在包,示例:
    @Configuration
    @ComponentScan(basePackages = "com.your.controller.package")
    @EnableWebMvc
    public class WebConfig implements WebMvcConfigurer {
        // 配置内容
    }
    
  • 确认控制器类标注了@Controller或@RestController,请求方法上的@RequestMapping/@GetMapping等注解路径拼写正确。

3. DispatcherServlet注册检查

  • 若用Java配置,检查AbstractAnnotationConfigDispatcherServletInitializer实现类的配置:
    public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
        @Override
        protected Class<?>[] getRootConfigClasses() {
            return new Class[]{RootConfig.class};
        }
    
        @Override
        protected Class<?>[] getServletConfigClasses() {
            return new Class[]{WebConfig.class};
        }
    
        @Override
        protected String[] getServletMappings() {
            return new String[]{"/"}; // 确保映射所有请求
        }
    }
    
  • 若用XML配置,检查web.xml中DispatcherServlet的<url-pattern>是否设为/,且配置文件路径正确。

4. 日志细节排查

查看Tomcat的localhost.log和localhost_access_log.*.txt日志,检查请求到达后的处理记录,确认DispatcherServlet是否接收请求但找不到对应映射。

5. JSP视图解析验证

如果控制器返回视图名(如"index"),检查视图解析器配置:

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/"); // 确认前缀路径正确
    resolver.setSuffix(".jsp");
    return resolver;
}

同时确认index.jsp文件在对应路径下,且Tomcat本身JSP功能正常(可测试Tomcat默认ROOT项目的JSP访问)。

6. IDEA部署配置检查

  • 确认IDEA中Tomcat部署的Application context设为空(访问路径为http://localhost:8080/),若有前缀需在请求时加上。
  • 检查项目target目录是否生成了正确的编译class文件,WEB-INF下的配置文件是否复制到位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:52:53