路径 URI 中的 Ant 风格

前言

我们经常在读到一些文章会遇到URI支持 Ant 风格 ,而且这个东西在 Spring MVCSpring Security 中经常被提及。这到底是什么呢?今天我们来学习了解一下。这对我们学习 Spring MVCSpring Security 十分必要。

Ant 风格

说白了 Ant 风格就是一种路径匹配表达式。主要用来对URI的匹配。其实跟正则表达式作用是一样的,只不过正则表达式适用面更加宽泛,Ant仅仅用于路径匹配。

Ant 通配符

Ant 中的通配符有三种:

  • ? 匹配任何单字符

  • * 匹配0或者任意数量的 字符

  • ** 匹配0或者更多的 目录

    这里注意了单个* 是在一个目录内进行匹配。 而** 是可以匹配多个目录,一定不要迷糊。

Ant 通配符示例

通配符示例说明
?/ant/p?ttern匹配项目根路径下 /ant/pattern/ant/pXttern,但是不包括/ant/pttern
*/ant/*.html匹配项目根路径下所有在ant路径下的.html文件
*/ant/*/path/ant/path/ant/a/path/ant/bxx/path 都匹配,不匹配 /ant/axx/bxx/path
**/ant/**/path/ant/path/ant/a/path/ant/bxx/path/ant/axx/bxx/path都匹配

最长匹配原则

从 3.1 可以看出 *** 是有冲突的情况存在的。为了解决这种冲突就规定了最长匹配原则(has more characters)。 一旦一个uri 同时符合两个Ant匹配那么走匹配规则字符最多的。为什么走最长?因为字符越长信息越多就越具体。比如 /ant/a/path 同时满足 /**/path/ant/*/path 那么走/ant/*/path

总结

Ant 风格整体东西不多,也很好理解。 很多关于URI 的配置、路由匹配、处理都用到了 Ant 风格 。对于 Web 开发人员来说是必须掌握的技能之一。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值