Spring restful web service編碼亂碼問題

分類:IT技術 時間:2017-06-12

Spring MVC從3.0開始支持REST

Spring MVC從3.0開始支持REST,主要是通過@PathVariable來處理請求參數和路徑的映射.假設在Controller中定義了如下的請求映射
@RequestMapping(value = "https://my.oschina.net/account/{key}")
如果請求路徑裏有中文(如/account/全聚德),可能會有亂碼問題,通過設置服務器的編碼可以解決,對於Tomcat,只需要修改conf/server.xml文件,添加URIEncoding="UTF-8"即可,如:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
如果路徑中有點"."(如/account/abc.def.ghi),Spring會當作文件擴展名的點來處理,這時Controller中就只能取到最後一個點之前的數據,即abc.def,解決辦法是修改請求映射的定義為以下形式:
@RequestMapping(value = "https://my.oschina.net/account/{keyword:.*}")

Tags:

文章來源:


ads
ads

相關文章
ads

相關文章

ad