首页 > 编程知识 正文

通配符有哪些,部分匹配查询中有关通配符

时间:2023-05-04 14:49:10 阅读:115669 作者:3717

在SpringMVC路径匹配中使用通配符

weixin_33778778

文章标签: java

版权

在SpringMVC路径匹配中使用通配符@RequestMapping中指定的路径也可以使用表示任何字符的通配符*。 以下处理器方法可以映射请求/antstyle/a和请求/antstyle/b,但不能映射请求/antstyle/a/b,因为它只能映射主路径。

@requestmapping(/antstyle/* ) (公共对象测试样式) ) { return 'antStyle; }通配符不仅可以放在最后,还可以放在其他地方。 在以下示例中,通配符居中。 可以映射请求/antstyle/a/bcd或请求/antstyle/ab/bcd。

@ request mapping (/ant style/*/BCD ) )公共对象测试样式{ return 'antStyle; }通配符也与以字符结尾的路径匹配。 要映射/antstyle/bcd结尾的路径(如/antstyle/abcd和/antstyle/bcd ),请使用类似以下的处理器方法:

@requestmapping(/antstyle/*BCD ) ) { return 'antStyle; }通配符也匹配以字符开头的路径。 要映射/antstyle/abc、/antstyle/abcd等,请使用类似以下的处理器方法:

@requestmapping(/antstyle/ABC* ' ) public Object testAntStyle ) ) { return 'antStyle; }一个星号只与主路径匹配。 如果需要匹配任何多级路径,可以使用两个星号。 以下处理器方法可以映射以/antstyle/开头的请求路径,如/antstyle/a和/antstyle/a/b。

@requestmapping(/antstyle/** ' ) public Object testAntStyle ) ) { return 'antStyle; }一个星号和两个星号也可以一起使用。 在这种情况下,一个星号与任何字符匹配,但仅在当前级别匹配,两个星号与任何级别匹配,例如/antstyle/abca/xxx/xxx。

@ request mapping (/ant style/ABC */* * ' ) public Object testAntStyle ) { return 'antStyle '; }如果在请求映射路径中使用通配符,也可以使用路径变量。 路径变量是相互独立的。 以下代码在请求路径中同时使用了路径变量和通配符。

@ request mapping (/antstylewithpathvariable/*/{ path }/ABC ' ) publicobjecttestantstylewithpathvariable ) @ path variabath 路径变量与通配符匹配时的优先级如果单个请求路径与多个处理器方法匹配,则SpringMVC将优先考虑路径映射的更精确者。

路径变量和通配符越少,路径映射就越准确。 例如,如果/hotels/{hotel}/*包含路径变量和通配符,则匹配将比/hotels/{hotel}/**更精确。 后者是因为有两个路径变量和通配符。 为两个路径指定相同的通配符数可以为该路径分配更多信息,如/hotels/abc*比/hotels/*更准确。 路径变量比通配符更准确。 例如,/hotels/{hotel}比/hotels/*更准确。 缺省映射/**比所有其他路径映射具有更低的优先级,例如/{a}/{b}比其更精确。 具有两个通配符的路径映射比不具有两个通配符的其他路径映射具有更低的优先级。 例如,/abc/**的优先级低于/abc/{a}。 (注意:本文基于Spring4.1.0编写)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。