`

Ant-style path patterns

阅读更多
路径匹配原则(Path Matching) Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了 org.springframework.util.AntPathMatcher,就像名字提示的那样,路径模式是使用了Apache Ant的样式路径,Apache Ant样式的路径有三种通配符匹配方法(在下面的表格中列出)
这些可以组合出很多种灵活的路径模式
Table Ant Wildcard Characters
Wildcard Description  
? 匹配任何单字符  
* 匹配0或者任意数量的字符  
** 匹配0或者更多的目录  

Table Example Ant-Style Path Patterns

Path Description  
/app/*.x 匹配(Matches)所有在app路径下的.x文件  
/app/p?ttern 匹配(Matches) /app/pattern 和 /app/pXttern,但是不包括/app/pttern  
/**/example 匹配(Matches) /app/example, /app/foo/example, 和 /example  
/app/**/dir/file. 匹配(Matches) /app/dir/file.jsp, /app/foo/dir/file.html,/app/foo/bar/dir/file.pdf, 和 /app/dir/file.java  
/**/*.jsp 匹配(Matches)任何的.jsp 文件  

 

 

HandlerMapping

 

一 个WEB应用程序基本上都要依赖于URL与请求处理器之间的映射,Spring MVC也是一样,但Spring MVC就像Spring所作的一切一样(译者:灵活,可以配置各种东西,但是也造成了很多复杂性),肯定不会只有一种方法来映射URL和 Controller之间的关系,并且在实际上,允许你自己创建映射规则和实现,而不仅仅依赖URL映射。
Spring提供了URL的映射处理, 并且处理路径模式的顺序和方法并没有限定到任何的接口上。Spring MVC的默认实现org.springframework.web.servlet.handler. AbstractUrlHandlerMapping, 会以最长符合路径模式来匹配一个路径。
例如:给定一个请求是 /app/dir/file.jsp 并且现在存在两个路径匹配模式/**/*.jsp 和/app/dir/*.jsp, 那么,URL会匹配那个模式呢?最后的那个模式/app/dir/*.jsp,会因为最长(has more characters)的原则被匹配,它比/**/*.jsp拥有更多的字符.注意的是,这个原则并没有在任何高级别的接口中指定,但却是一种实现细节。
!!下面看一下默认的两个HandlerMapping
BeanNameUrlHandlerMapping
默 认的映射策略实现是org.springframework.web. servlet.handler.BeanNameUrlHandlerMapping类. 这个类要求任何有可能处理请求的Bean都要起一个以反斜杠(/)字符开头的名称或者别名,这个名称或者别名可以是符合URL Path匹配原则中的任何名字。

分享到:
评论

相关推荐

    java-design-patterns-master_JAVAdesignpattens_java_design_

    这个压缩包“java-design-patterns-master”显然是一个专注于Java设计模式的学习资源,旨在帮助开发者深入理解和应用这些模式。下面我们将详细探讨Java设计模式及其在实际开发中的应用。 1. **单例模式(Singleton...

    Data Structures And Algorithms With Object-oriented Design Patterns In Java

    Data Structures And Algorithms With Object-oriented Design Patterns In Java.chm

    cloud-design-patterns, 云应用的规范架构指南.zip

    cloud-design-patterns, 云应用的规范架构指南 云设计模式Microsoft模式&实践http://aka.ms/cloud-design-patterns本项目采用了微软的微软开源代码。 有关更多信息,请参见代码 Conduct FAQ FAQ或者联系 opencode@

    java-design-patterns-master.zip

    JAVA设计模式一直是JAVA最考验内功的技术点。有句话说的很好,理解吃透设计模式概念如果是3分的难度,那么自己能写出来就是10分的...java-design-patterns-master是github上比较优秀的设计模式项目,这里与大家分享!

    Pro-Objective-C-Design-Patterns-for-iOS

    《Pro-Objective-C-Design-Patterns-for-iOS》是一本专注于在iOS平台上利用Objective-C语言实现设计模式的专业书籍。书中旨在帮助已经有一定Cocoa开发基础的开发者,通过掌握设计模式的实践应用,提升软件开发的生产...

    Data Structures and Algorithms with Object-Oriented Design Patterns in C++.rar

    Data Structures and Algorithms with Object-Oriented Design Patterns in C++.rar Data Structures and Algorithms with Object-Oriented Design Patterns in C++.rar

    Head-First-Design-Patterns-master.zip

    《Head First设计模式》是一本深受开发者喜爱的设计模式入门书籍,其官方源码库"Head-First-Design-Patterns-master.zip"包含了书中所讲解的各种设计模式的实际代码示例,旨在帮助读者更深入地理解并应用这些模式。...

    postfix-grok-patterns, 解析后缀日志记录的Logstash配置和grok模式.zip

    postfix-grok-patterns, 解析后缀日志记录的Logstash配置和grok模式 用于后缀日志的 Logstash注释模式一组使用grok解析后缀日志记录的grok模式。 还包括一个示例Logstash配置文件,用于将grok模式作为过滤器应用。...

    language-implementation-patterns

    《语言实现模式:创建自己的领域特定和通用编程语言》是一本深入探讨编程语言设计与实现的经典著作,由Terence Parr撰写。本书不仅为读者提供了构建编程语言的实际指导,还介绍了现代工具和设计模式在解析技术各个...

    PyPI 官网下载 | aws-cdk.aws-ecs-patterns-0.36.0.tar.gz

    标题中的“PyPI 官网下载 | aws-cdk.aws-ecs-patterns-0.36.0.tar.gz”表明这是一个从Python Package Index (PyPI)官方渠道获取的软件包,名为“aws-cdk.aws-ecs-patterns”,版本号为0.36.0,其格式是tar.gz,这是...

    Addison.Wesley.Real-Time Design Patterns.chm

    Real-Time Design Patterns is the foremost reference for developers seeking to employ this powerful technique. The text begins with a review of the Unified Modeling Language (UML) notation and ...

    Data Structures and Algorithms with Object-Oriented Design Patterns in Python

    I have observed that the advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a profound change in the pedagogy of data structures and algorithms....

    golang design pattern; 设计模式golang版本-go-design-patterns.zip

    在编程领域,设计模式是一种被广泛接受的解决常见问题的最佳实践。它们是经过时间验证的...在"go-design-patterns-master"这个项目中,你将找到每个模式的具体实现示例,这对于学习和理解Go语言的设计模式非常有帮助。

    PyPI 官网下载 | cdk-fargate-patterns-0.0.14.tar.gz

    《PyPI官网下载:深入解析cdk-fargate-patterns-0.0.14.tar.gz》 在Python的世界里,PyPI(Python Package Index)是开发者们分享和获取开源软件包的重要平台。"cdk-fargate-patterns-0.0.14.tar.gz"便是这样一个从...

    Laracasts - design-patterns-in-php

    "Laracasts - design-patterns-in-php.torrent"则可能是一个BT种子文件,用于通过BitTorrent协议下载整个课程的大型数据包,这通常包括所有视频讲座和其他相关文件。 在课程"设计模式在PHP中"中,你可能会学到以下...

    Hands-On Design Patterns with Delphi Build applications

    Design patterns have proven to be the go-to solution for many common programming scenarios. This book focuses on design patterns applied to the Delphi language. The book will provide you with insights...

    Data Structures and Algorithms with Object-Oriented Design Patterns in Java

    《Data Structures and Algorithms with Object-Oriented Design Patterns in Java》是一本专为Java开发者设计的深入探讨数据结构和算法的书籍。这本书以其详尽的解释和易于理解的特点,深受Java编程者的喜爱。它将...

Global site tag (gtag.js) - Google Analytics