普通 URL 路徑映射
@RequestMapping(value={"/test1", "/user/create"}):多個URL路徑能夠映射到同一個處理器的功能處理
方法。正則表達式
URI 模板模式映射
@RequestMapping(value="/users/{userId}"):{×××}佔位符, 請求的 URL 能夠是 「/users/123456」或
「/users/abcd」 ,經過 6.6.5 講的經過@PathV ariable 能夠提取 URI 模板模式中的{×××}中的×××變量。
@RequestMapping(value="/users/{userId}/create") : 這樣 也 是 可 以 的 ,請 求的 URL 可 以是
「/users/123/create」 。
@RequestMapping(value="/users/{userId}/topics/{topicId}"):這樣也是能夠的,請求的 URL 能夠是
「/users/123/topics/123」 。app
Ant 風格的 URL 路徑映射
@RequestMapping(value="/users/**"):能夠匹配「/users/abc/abc」 ,但「/users/123」將會被【URI模板模式映射
中的「/users/{userId}」模式優先映射到】【詳見4.14的最長匹配優先】 。
@RequestMapping(value="/product?"): 可匹配 「/product1」 或 「/producta」 , 但不匹配 「/product」 或 「/productaa」 ;
@RequestMapping(value="/product*"):可匹配「/productabc」或「/product」 ,但不匹配「/productabc/abc」;
@RequestMapping(value="/product/*"):可匹配「/product/abc」 ,但不匹配「/productabc」;
@RequestMapping(value="/products/**/{productId}"):可匹配「/products/abc/abc/123」或「/products/123」 ,
也就是Ant風格和URI模板變量風格可混用;
此處須要注意的是【4.14 中提到的最長匹配優先】 ,Ant 風格的模式請參考 4.14。設計
正則表達式風格的 URL 路徑映射
從 Spring3.0 開始支持正則表達式風格的 URL 路徑映射, 格式爲{變量名:正則表達式}, 這樣咱們就能夠經過 6.6.5 講的
經過@PathV ariable 提取模式中的{×××:正則表達式匹配的值}中的×××變量了。
@RequestMapping(value="/products/{categoryCode:\\d+}-{pageNumber:\\d+}") : 可 以 匹 配
「/products/123-1」 ,但不能匹配「/products/abc-1」 ,這樣能夠設計更加嚴格的規則。字符串
正則表達式風格的 URL 路徑映射是一種特殊的 URI 模板模式映射:
URI 模板模式映射是{userId},不能指定模板變量的數據類型,如是數字仍是字符串;
正則表達式風格的 URL 路徑映射,能夠指定模板變量的數據類型,能夠將規則寫的至關複雜。模板