1. 程式人生 > >springmvc中配置RESTful風格控制器

springmvc中配置RESTful風格控制器

控制 最好 我們 connect toc ajax cti 直觀 let

一般的http請求中其實只需要get和post就可以滿足項目需求了,而為什麽還要使用restful可能就是為了使請求url看起來更加直觀,好看吧。。

restful常用的請求方式:get,post,put,patch,delete

springmvc默認情況下對get和post支持的最好,像put,putch,delete其實也是支持的,只不過默認情況下只支持控制器接收url傳遞的參數,如果我們想要想post那樣傳遞參數,需要我們在後端和前端做一些設置,比如在前端請求時手動設置請求頭中的內容類型為json,後端還要配合前端設置控制器的參數接收一個請求體,而不是普通表單或url參數,使用requestBody註解來接收,springmvc會通過消息處理器來幫助json格式的請求體到java bean的轉換,格外的麻煩,所以以下提供三種解決方案:

1、修改tomcat的server.xml:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" parseBodyMethods="POST,PUT,DELETE" URIEncoding="UTF-8" />

經過測試這種是可行的,只是ajax請求時需要設置請求頭為

Content-Type: application/x-www-form-urlencoded

請求數據的內容格式是這樣name=bbba&age=22
如果表單提交的話只需要設置請求編碼application/x-www-form-urlencoded即可。
2、在web.xml中添加HttpPutFormContentFilter

參考 https://blog.csdn.net/geloin/article/details/7444590

3、在web.xml中添加HiddenHttpMethodFilter

參考 https://blog.csdn.net/geloin/article/details/7444321

我比較推薦使用第3中解決方案,沒有原因,個人喜好。。

springmvc中配置RESTful風格控制器