springboot访问请求404的原因及解决办法

 更新时间:2023年09月13日 09:17:42   作者:Just right  
在使用Spring Boot开发应用程序时,有时可能会遇到访问请求出现404错误的情况,即请求的资源未找到,这篇文章主要给大家介绍了关于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
     **/
    @Override
    protected 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子类

总结 

到此这篇关于springboot访问请求404的原因及解决办法的文章就介绍到这了,更多相关springboot访问请求404内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • minio安装部署及使用的详细过程

    minio安装部署及使用的详细过程

    MinIO是一个基于Apache License v2.0开源协议的对象存储服务,下面这篇文章主要给大家介绍了关于minio安装部署及使用的详细过程,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 浅析springboot通过面向接口编程对控制反转IOC的理解

    浅析springboot通过面向接口编程对控制反转IOC的理解

    这篇文章主要介绍了springboot通过面向接口编程对控制反转IOC的理解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-08-08
  • 浅谈Java中File文件的创建以及读写

    浅谈Java中File文件的创建以及读写

    文中有非常详细的步骤介绍了Java中file文件的创建以及读写,对刚开始学习java的小伙伴们很有帮助,而且下文有非常详细的代码示例及注释哦,需要的朋友可以参考下
    2021-05-05
  • SpringBoot调用第三方接口的几种方式小结

    SpringBoot调用第三方接口的几种方式小结

    在项目中调用第三方接口时,确实需要根据项目的技术栈、架构规范以及具体的业务需求来选择最适合的调用方式,下面我们就介绍几种调用第三方接口的实现方式以及代码示例,需要的朋友可以参考下
    2024-07-07
  • spring和quartz整合,并简单调用(实例讲解)

    spring和quartz整合,并简单调用(实例讲解)

    下面小编就为大家带来一篇spring和quartz整合,并简单调用(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java I/O 操作及优化详细介绍

    Java I/O 操作及优化详细介绍

    这篇文章主要介绍了Java I/O 操作及优化详细介绍的相关资料,需要的朋友可以参考下
    2017-02-02
  • java的三种随机数生成方式的实现方法

    java的三种随机数生成方式的实现方法

    这篇文章主要介绍了java的三种随机数生成方式的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • spring 整合 mybatis 中数据源的几种配置方式(总结篇)

    spring 整合 mybatis 中数据源的几种配置方式(总结篇)

    因为spring 整合mybatis的过程中, 有好几种整合方式,尤其是数据源那块,经常看到不一样的配置方式,总感觉有点乱,所以今天有空总结下,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • java快速解析路径中的参数(&与=拼接的参数)

    java快速解析路径中的参数(&与=拼接的参数)

    这篇文章主要介绍了java快速解析路径中的参数(&与=拼接的参数),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-02-02
  • 详解Spring Boot 事务的使用

    详解Spring Boot 事务的使用

    spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。接下来通过本文重点给大家介绍spring boot事务的使用,需要的的朋友参考下吧
    2017-04-04

最新评论