SpringBoot Web开发2-路径匹配

🤖🤖-摘要:
本文介绍SpringBoot Web开发中的路径匹配技术。介绍了Spring5.3后的请求路径匹配策略,包括旧的AntPathMatcher策略和新的默认PathPatternParser策略。文章解释了如何在代码中选择和配置这两种策略
路径匹配
Spring5.3之后加入了更多的请求路径匹配的实现策略,
以前只支持AntPathMatcher策略,现在提供了PathPatternParser策略,
并且可以指定使用哪种策略
默认使用PathPatternParser策略
AntPathMatcher策略
Ant 风格的路径模式语法具有以下规则:
- :表示任意数量的*字符,0~n
- ?:表示任意一个字符,
- *:表示任意数量的*目录
- {}:表示一个命名的模式占位符
- []:表示字符集合,例如[a-z]表示小写字母
例如:
- *.html 匹配任意名称,且扩展名为.html的文件
- /folder1//.java 匹配在folder1目录下的任意两级目录下的.java文件
- /folder2/**/*.jsp 匹配在folder2目录下任意目录深度的.jsp文件
- /{type}/{id}.html 匹配任意文件名为{id}.html,在任意命名的{type}目录下的文件
注意:Ant 风格的路径模式语法中的特殊字符需要转义,如: |
代码测试:
|
访问:http://localhost:8080/ads/bd/adf

控制台打印:
路径变量p1: adf
PathPatternParser策略
- 基准测试下,有6~8倍吞吐量提升,降低30%~40%空间分配率
- 兼容AntPathMatcher语法,并支持更多类型的路径模式
注意:"**" 多段匹配的支持仅允许在模式末尾使用 |
修改默认策略
- 配置文件:spring.mvc.pathmatch.matching-strategy=ant_path_matcher
- 代码修改:
/** |
小结一下
- 使用默认的路径匹配规则(
PathPatternParser)即可,性能高,兼容Ant风格 - 如果中间需要双星(**),只能换回Ant风格
SpringBoot 底层匹配策略:
WebMvcAutoConfiguration.java
|
默认情况,WebMvcProperties.java:
// 默认情况是:PATH_PATTERN_PARSER |
评论
匿名评论
✅ 你无需删除空行,直接评论以获取最佳展示效果