springboot处理url中带斜杠/\字符的参数报400问题

 更新时间:2024年01月19日 10:35:15   作者:guoguolifang  
这篇文章主要介绍了springboot处理url中带斜杠/\字符的参数报400问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot处理url中带斜杠/\字符的参数报400

1. 启动类中添加

//解决URL中包含%2F(/)的问题
System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true");
//解决URL中包含%5C(\)的问题
System.setProperty("org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH", "true");

2. 新建配置类

@Configuration
@EnableWebMvc
public class TomcatConfig implements WebMvcConfigurer  {
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper = new UrlPathHelper();
        urlPathHelper.setUrlDecode(false);
        //总使用完整路径
        urlPathHelper.setAlwaysUseFullPath(true);
        configurer.setUrlPathHelper(urlPathHelper);
    }

}

URL地址中的斜杠/和反斜杠\

1. 斜杠/和反斜杠\的用处:分隔符

Unix使用斜杠作为分隔符

web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符;

windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符(由于使用 斜杆/ 作为DOS 命令提示符的参数标志)

2. URL中斜杠/和反斜杠\的区别

随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响:

出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/反斜杠\ 是一样的;

如果代表的是网络文件路径,则必须使用 斜杠/ ;

3. 地址的相对路径和绝对路径

  • 相对路径:相当于当前文件的路径;
  • 绝对路径:你的主页上的文件或目录在硬盘上真正的路径。

4. 其他

  • ./:代表目前所在的目录。
  • ../:代表上一层目录。

例如:

  • /SRC/ 表示:项目根目录(可以指磁盘根目录,也可以指项目根目录,视实际情况而定) 
  • ./SRC/ 表示:当前目录中的SRC文件夹;
  • ../SRC/ 表示:当前目录的上一层目录中SRC文件夹;

如果在地址最后加一个斜杠,表示读取改地址下的文件目录;

如果地址最后不是斜杠结尾,表示只读取该文件。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Java实现XML文件的解析与更新

    基于Java实现XML文件的解析与更新

    配置文件可以有很多种格式,包括 INI、JSON、YAML 和 XML。每一种编程语言解析这些格式的方式都不同。本文将通过Java语言实现XML文件的解析与更新,需要的可以参考一下
    2022-03-03
  • springboot集成es插入和查询的简单使用示例详解

    springboot集成es插入和查询的简单使用示例详解

    这篇文章主要介绍了springboot集成es 插入和查询的简单使用,本文分步骤结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • SpringMVC Restful风格与中文乱码问题解决方案介绍

    SpringMVC Restful风格与中文乱码问题解决方案介绍

    Restful就是一个资源定位及资源操作的风格,不是标准也不是协议,只是一种风格,是对http协议的诠释,下面这篇文章主要给大家介绍了关于SpringMVC对Restful风格支持的相关资料,需要的朋友可以参考下
    2022-10-10
  • Java中重写和重载的区别及说明

    Java中重写和重载的区别及说明

    Java语言中的重载和重写是实现多态的两种方式,但他们的实现方式和规则有所不同,重载发生在一个类中,同名的方法如果有不同的参数列表,则视为重载,重写则发生在子类和父类之间,要求子类重写方法和父类被重写方法有相同的返回类型
    2024-10-10
  • springboot security验证码的登录实例

    springboot security验证码的登录实例

    这篇文章主要介绍了springboot security验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 在JAVA Web项目中动态加载DLL/SO文件的方法

    在JAVA Web项目中动态加载DLL/SO文件的方法

    在JAVA Web项目中,我们经常需要调用一些第三方库或者实现一些JAVA本身不支持的功能,这时,我们可能会考虑使用JNI来调用DLL或SO文件,然而,因此,本文将介绍如何在JAVA Web项目中动态加载DLL/SO文件,需要的朋友可以参考下
    2024-12-12
  • 剑指Offer之Java算法习题精讲排列与N叉树

    剑指Offer之Java算法习题精讲排列与N叉树

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • SpringCloud微服务熔断器Hystrix使用详解

    SpringCloud微服务熔断器Hystrix使用详解

    这篇文章主要介绍了Spring Cloud Hyxtrix的基本使用,它是Spring Cloud中集成的一个组件,在整个生态中主要为我们提供服务隔离,服务熔断,服务降级功能,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • linux部署出现java文件操作报错:java.io.FileNotFoundException解决办法

    linux部署出现java文件操作报错:java.io.FileNotFoundException解决办法

    这篇文章主要g介绍了linux部署出现java文件操作报错:java.io.FileNotFoundException解决的相关资料,这个错误通常表示你的Spring Boot应用程序无法找到指定的文本文件,需要的朋友可以参考下
    2023-12-12
  • Java设计模式之策略模式详解

    Java设计模式之策略模式详解

    这篇文章主要为大家详细介绍了Java设计模式之策略模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论