Spring MVC的路径匹配
Spring MVC中的路径匹配比起标准web.xml的servlet映射要灵活得多。路径匹配的默认策略是由org.springframework.util.AntPathMatcher实现的。顾名思义,路径模式是采用Apache Ant(http://ant.apache.org)风格路径来编写的。Ant风格路径有三种类型的通配符(列于表5-2中),能相互结合以创建多样灵活的路径模式。见表5-3中的模式例子。
表5-2 Ant通配符字符
通配符描述
? 匹配一个字符
* 匹配零个或多个字符
**匹配零个或多个目录
表5-3 Ant-Style路径模式
路径描述
/app/*.x 匹配app目录中的所有.x文件
/app/p?ttern 匹配/app/pattern和app/pXttern,但不匹配/app/pttern
/**/example 匹配/app/example、/app/foo/example和/example
/app/**/dir/file.*匹配/app/dir/file.jsp、/app/foo/dir/file.html
/**/*.jsp 匹配任何.jsp文件
路径优先级
路径模式的排序和优先级不受任何接口指定。然而org.springframework.web.servlet.handler.AbstractUrlHandlerMapping的默认实现将匹配一个最长的(最明确的)匹配模式的路径。
例如,对于请求URL/app/dir/file.jsp,有两个路径模式/**/*.jsp和/app/dir/*.jsp。哪一个路径模式会匹配呢?后一个即/app/dir/*.jsp会匹配,因为它比/**/*.jsp更长(有更多的字符)。要注意的是,任何高级接口都没有说明这个匹配路径到请求处理器的规则,但它是一个实现细节。
文章节选自:《深入解析Spring MVC与Web Flow》 徐哲、沈燕译。
Spring MVC的路径匹配的更多相关文章
- Spring MVC的路径匹配规则 Ant-style
Spring默认的策略实现了 org.springframework.util.AntPathMatcher,即Apache Ant的样式路径,Apache Ant样式的路径有三种通配符匹配方法(在下 ...
- spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- spring mvc获取路径参数的几种方式
一.从视图向controller传递值, controller <--- 视图 1.通过@PathVariabl注解获取路径中传递参数 (参数会被复制到路径变量) @RequestMappin ...
- Srping MVC ant路径匹配
背景 最近有一个功能设计path匹配,开发说支持ant匹配,这是我第一次听说这个词,赶紧补一下功课. Ant匹配规则 1.前言 (1)SpringMVC的路径匹配规则是按照Ant来的,实际上不只是Sp ...
- Spring MVC - URL路径映射
1. 普通映射 A. @RequestMapping("/test1") B. @RequestMapping(value={"/test1", "/ ...
- Spring MVC 请求路径遇到的302问题的解决方法
302 Found 请求的资源现在临时从不同的URI响应请求.由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求.只有在Cache-Control或Expires中进行了指定的情况下,这 ...
- Spring MVC 学习总结(六)——Spring+Spring MVC+MyBatis框架集成
与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...
- Spring+Spring MVC+MyBatis
Spring+Spring MVC+MyBatis 目录 一.新建一个基于Maven的Web项目 二.创建数据库与表 三.添加依赖包 四.新建POJO实体层 五.新建MyBatis SQL映射层 六. ...
- Java Spring MVC项目搭建(二)——项目配置
1.站点配置文件web.xml 每一个Spring MVC 项目都必须有一个站点配置文件web.xml,他的主要功能吗....有一位大哥已经整理的很好,我借来了,大家看看: 引用博客地址: http: ...
随机推荐
- 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)
参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ...
- Oracle 查询搜索字符串在哪些存储过程中包含
如下: select *from all_source where OWNER = 'LC0019999'and TEXT like '%insert into%d values(%'
- MYSQLMTOP!开源MYSQL监控系统
原文地址:http://www.lepus.cc/page/opensource
- tcp/ip ---数据封装过程
- 字符串算法之 AC自己主动机
近期一直在学习字符串之类的算法,感觉BF算法,尽管非常easy理解,可是easy超时,全部就想学习其它的一些字符串算法来提高一下,近期学习了一下AC自己主动机.尽管感觉有所收获,可是还是有些朦胧的感觉 ...
- 如何將 MySQL 資料庫轉移到 Microsoft SQL Server 與 Azure SQL Database
MySQL 是相當常用之資料庫伺服器,而微軟雲端服務 Microsoft Azure 上 Azure SQL Database 是一個功能強大且經濟實惠的選擇,透過本篇文章,使用 SQL Server ...
- Atitit.导出excel报表的设计与实现java .net php 总结
Atitit.导出excel报表的设计与实现java .net php 总结 1. 导出报表 表格的设计要素1 1.1. 支持通用list<Map>转换1 1.2. 对于空列是否输出1 1 ...
- Hybird App ( 混合模式移动应用)开发初体验
最近1,2个月一直都尝试开发一款Hybird app,遇到了很多问题,谈谈自己的体会. Hybird app (混合模式移动应用),它利用例如安卓端webview组件+HTML5内嵌的方式混合的方式开 ...
- eslint — js书写规范
一.安装 npm install -g eslint 安装eslint 编辑器安装插件eslint(具体安装方法根据不同编辑器而不同) 二.使用 使用方法一: eslint --init npm中用命 ...
- UICollectionView的简单认识和简单实用
摘要 UICollectionView是比UITableView更加复杂的UI控件,通过它可以实现许多复杂的流布局.但对我们来说,系统提供的接口十分简单易用,并且有十分强的制定性. iOS流布局UIC ...