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

Spring Boot应用通过URL无法找到服务器,返回404状态码求助

Spring Boot 404错误排查方案

控制器与扫描范围检查

  • 确保控制器类标注了@RestController(API接口场景)或@Controller(页面跳转场景),缺失注解会导致Spring无法识别该类为请求处理类
  • 检查类上@RequestMapping/@GetMapping等注解的路径拼写,注意大小写、斜杠是否正确(比如是否多写/少写了/)
  • 确认控制器所在包被Spring Boot扫描:主启动类的包需包含控制器包,若不在同一层级,需手动添加@ComponentScan(basePackages = {"com.your.controller.package"})指定扫描范围

请求映射匹配检查

  • 核对方法级注解(@GetMapping/@PostMapping等)的路径与请求URL是否完全匹配,比如类上@RequestMapping("/api")、方法上@GetMapping("/user"),则请求URL应为/api/user
  • 确认请求方法一致:前端发POST请求时,后端不能用@GetMapping,否则会因方法不匹配返回404
  • 若使用路径变量(如@GetMapping("/user/{id}")),检查请求URL中的变量格式是否符合要求,避免特殊字符导致解析失败

应用启动与端口检查

  • 查看启动日志,确认Spring Boot正常启动无报错,且日志中存在类似Mapped "{/api/user}" onto public ...的记录,说明控制器映射已成功加载
  • 确认应用监听端口:日志中会显示Tomcat started on port(s): 8080 (http),请求URL需使用对应端口;若配置了自定义端口,检查application.properties/application.yml中的server.port是否生效

静态资源与视图解析检查(若涉及页面访问)

  • 静态文件需放在src/main/resources/static或src/main/resources/public目录下,比如static/index.html对应的请求URL是/index.html
  • 使用Thymeleaf等模板引擎时,模板文件需放在src/main/resources/templates下,控制器方法返回的视图名称需与模板文件名一致,同时确认模板引擎依赖已正确引入pom.xml或build.gradle

拦截器与过滤器检查

  • 排查自定义拦截器/过滤器是否拦截了目标请求,检查拦截路径配置(如addPathPatterns("/**"))是否误拦截了正常请求
  • 确认拦截器中是否有正确的放行逻辑,避免合法请求被拦截后无法到达控制器

内容的提问来源于stack exchange,提问作者sayedali musavi Khoeini

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:40:36