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

springMVC中/*与/**匹配的区别

在 Spring MVC 中,这两个模式只差了一颗星,但匹配的“深度”完全不同。
一句话:

  • /user/* 只能匹配一级,即 /user/abc/user/123 都 OK,但 /user/abc/profile 就不行。
  • /user/** 可以匹配无限多级,即 /user 及其下面任意层级的路径都 OK,例如 /user/user/abc/user/abc/profile/user/a/b/c/d 等。

下面把规则展开说清,并给出代码示例,方便你一眼看出区别。


  1. Ant 风格路径通配符规则(Spring 用到)
  • ? 匹配任意单个字符
  • * 匹配任意一段字符(不能跨 /
  • ** 匹配任意多段字符(可以跨 /,必须是整个路径段)
  1. 对应关系
    模式 能否匹配 举例

/user/* 只能匹配 /user/ 下一级 /user/123 ✔
/user/123/info ✘

/user/** 可匹配 /user 及其下任意层级 /user ✔
/user/123 ✔
/user/123/info ✔
/user/a/b/c/d ✔

  1. 代码示例
@Configuration
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 只拦截 /user/ 下一级registry.addInterceptor(new UserInterceptor()).addPathPatterns("/user/*");// 拦截 /user 及其所有子路径// registry.addInterceptor(new UserInterceptor())//         .addPathPatterns("/user/**");}
}
  1. 容易踩的坑
  • /user/* 不会匹配到 /user 本身(因为 * 至少要有一段字符)。
    如果你想把 /user 也一起拦截,需要再加一条 /user 或者改用 /user/**
  • 如果用了 /** 又只想排除某些子路径,记得再配合 excludePathPatterns("...") 使用。

结论
记住一句话:
“单星只走一层,双星层层通吃”。
根据业务需要选择即可。

http://www.dtcms.com/a/442239.html

相关文章:

  • 如何快速学习一个网络协议?
  • 从安装到上手实战——Docker 基础命令全解析
  • 虚拟机怎么做网站昆明seo技术培训
  • 免费dede企业网站模板wordpress qa
  • autodl 安装modelscope OCR 模型 dots_ocr 笔记心得
  • Linux中文件目录结构介绍以及对目录的操作
  • 大庆建设工程交易中心网站唐山建设信息网站
  • 第8章:扩展边界:技术之外的视野(2)
  • Java面向对象练习:Person类继承与排序
  • Day04_刷题niuke20251005
  • 四个字网站 域名网站开发项目进度表
  • 理解C++20的革命特性——协程支持1
  • 【八股】操作系统
  • 2025年第13批中国深度合成算法备案分析报告
  • 建设工程专业承包交易中心网站百度指数分析官网
  • SSMEE的仓库管理系统93c6b(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
  • 怎么自己学做网站建筑案例分析模板
  • 怎样申请一个免费网站全国加盟网站建设
  • 【均衡器调节原理与操作指南】
  • 个人静态网站首页怎么做扬州今天的最新发布消息
  • 北京软件开发公司排行榜最新网站seo优化主要有哪些手段
  • React18学习笔记(五) 【总结】常用的React Hooks函数,常用React-Redux Hooks函数和React中的组件通信
  • display this interface 概念及题目
  • 网站管理后台制作服务专业的网络建站公司
  • 研发管理 #项目管理 #APQP #IATF16949 #智能制造 #数字化转型
  • 网站做百度推广有没有效果悬浮网站底部代码
  • genpoly_lt.py
  • OS_TaskStat () 函数
  • 百度免费发布信息网站手机网投网站建设
  • C语言内存管理与命令行参数详解