@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:.*}”)

發佈了109 篇原創文章 · 獲贊 130 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章