当前位置: 首页 > news >正文

springboot访问请求404的原因

是记录,可能出现错误

可能出现的原因
1.你请求的URL路径不对,比如说你请求的路径是/usr/list,GET方法,但是你UserController上面的RequestMapping是这个样子:@RequestMapping(“user”),有可能哈
2.前端的请求时GET方法,后端对应的处理函数的方法是非GET方法
3.Controller和RestController注解混用了,两个中删除一个试试
4.访问的是静态资源,那么查看是否配置好了静态资源,就是把静态资源放到Resources下面的static文件夹中,也可以通过配置类来自定义存放路径
在这里插入图片描述
下面是通过配置类的方式,来配置静态资源存放的路径
我的静态资源是直接放在Resources下面的,新建一个类,类名随意

继承WebMvcConfigurationSupport
重写addResourceHandlers方法
在类上面加上@Configuration注解

@Configuration
@Slf4j
public class WebMvcConfig extends WebMvcConfigurationSupport {/*** 配置静态资源映射** @param registry**/@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始进行静态资源映射");//将路径中包含backend的请求映射到backend文件夹下//这句话的意思是,只要请求的是/backend下面的文件都映射到Resources下面的backend文件夹下面,classpath:registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
//上同        registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");}}

5.你的Controller类没有被扫描到,这种情况一般是启动类在一个包里面
在这里插入图片描述
解决办法:

  1. 把你的启动类从包里面拿出来,放到外面,如图所示
  2. 用和MapperScan和scanBasePackages来指明需要扫描的包
    如图所示
    在这里插入图片描述
  3. 项目中有多个SpringBootServletInitializer子类
    此类问题表现是,项目按模块划分,多个模块内包含Controller。在开发调试阶段正常,单独运行每个模块也正常;使用tomcat部署后,总会随机出现一些模块的Controller访问不了的情况。
    这种情况,多是因为每个模块都创建了SpringBootServletInitailizer子类。
    解决办法就是只保留入口模块的SpringBootServletInitialzer子类即可
    补充:
    若是线上部署阶段排错思路
    1.确定资源确实是存在的
    2.随机测试几个接口,看看是否都是404。
  • 如果都是404,很可能是nginx配置错误
  • 如果部分404,且是按模块404,查看项目中是否有多个SpringBootServletInitializer子类
http://www.lryc.cn/news/107905.html

相关文章:

  • 网络安全零基础该如何自学?
  • Git(丢失stash数据恢复)
  • Maven依赖管理
  • 【电网技术复现】考虑实时市场联动的电力零售商鲁棒定价策略(Matlab代码实现)
  • R语言中数据重塑(长宽表的转化)
  • C# Blazor 学习笔记(10):依赖注入
  • 接口请求(get、post、head等)详解
  • 【【萌新的STM32学习-4】】
  • C++ Primer Plus第五章 习题
  • 软考A计划-系统集成项目管理工程师-信息文档和配置管理-上
  • Vue 路由 路由守卫
  • 基于springboot的课程作业管理系统【附开题|ppt|万字文档(LW)和搭建文档】
  • 关于个人微信API接口的开发
  • 华为PMS API client token auth failed
  • 【Java面试丨消息中间件】Kafka
  • 7.数组(一维数组、二维数组、C99中的变长数组、二分查找法)
  • ubuntu服务器配置ftp服务
  • IDA+Frida分析CTF样本和Frid源码和objection模块
  • ConCurrentHashMap常见面试题
  • mysql数据备份并重置
  • I- yh的线段(2023河南萌新联赛第(四)场:河南大学)
  • python与深度学习(十四):CNN和IKUN模型二
  • chrome扩展在popup、background、content之间通信解决传输文件问题
  • Oracle获取创建对象的DDL脚本
  • 《算法竞赛·快冲300题》每日一题:“01树”
  • Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓
  • 探索嵌入式系统:从入门到实践
  • 网络安全知识点整理(作业2)
  • idea数据库快速上手-库操作与表结构和数据操作
  • 当“国潮”遇见“双语” 以传承之心种下一颗文化的种子