1. 程式人生 > >@PathVariable 中包含.等特殊字元異常

@PathVariable 中包含.等特殊字元異常

spring MVC從3.0開始支援REST,而主要就是通過@PathVariable來處理請求引數和路徑的對映。
由於考慮到SEO的緣故,很多人喜歡把新聞的名稱作為路徑中的一部分去處理,這時候中文的名稱就會遇到問題,沒辦法對映,這個是因為編碼問題,只要到 TOMCAT/conf下找到server.xml,新增URIEncoding=”UTF-8”進行URL編碼設定就可以解決中文問題。
另外經常遇到路徑中有點”.”,而點是特殊字元,比如.html, .do等等,所以Spring MVC預設是把點後面的資訊當作檔案字尾,這時候我們就要修改這個預設值。



另外,這時候如果只設置這個,請求可以傳遞到對於的controller,但傳過去的資料會有問題,只會傳最後一個點前面的資料,除非你在最後加上“/”,比如/news/測試.點/ 這樣就會把“測試.點”當作整體,不然只會得到“測試”。這時候我們可以這樣設定@RequestMapping(“/news/{title:.*}”)