javascript
SpringMVC实现RESTful风格
RESTful簡介
?
1,REST架構師一個抽象的概念,目前主要是基于HTTP協議實現,其目的是為了提高系統的可伸縮性,降低應用之間的耦合度,便于框架分布式處理程序。
?
2,REST主要對以下兩方面進行了規范
-定位資源的URL風格,例如
?http://baidu.com/admin/1234
?http://baidu.com/admin/1234/10/11
-如何對資源操作
?采用HTTP協議規定的GET、POST、PUT、DELETE動作處理資源的增刪該查操作
?
?
3,什么是RESTful?
?-符合REST約束風格和原則的應用程序或設計就是RESTful.
?eg: ?/emp/1 ?HTTP GET ? ? ?查詢id=1的emp
? ? ? ?/emp/1 ?HTTP DELETE ? ?刪除id=1的emp,實驗中直接刪除會報405錯誤,但是采用$.ajax異步刪除就沒問題
? ? ? ?/emp/1 ?HTTP PUT ? ?跟新emp
? ? ? ?/emp/add ?HTTP POST ? ? 新增emp
?
4,Spring對RESTful的支持
- Spring MVC 對 RESTful應用提供了以下支持
- 利用@RequestMapping 指定要處理請求的URI模板和HTTP請求的動作類型
- 利用@PathVariable講URI請求模板中的變量映射到處理方法參數上
- 利用Ajax,在客戶端發出PUT、DELETE動作的請求
?
eg:?@RequestMapping(value = "/{id}", method = RequestMethod.GET)
? ? ? public String toUpdate(@PathVariable("id") Integer id, Model model) {}
?
5,RequestMapping的一般應用格式。
?
?@RequestMapping(value = "/{id}", method = RequestMethod.GET)
?
?@RequestMapping(value = "/{id}", method = RequestMethod.POST)
?
?@RequestMapping(value = "/{id}", method = RequestMethod.DELETE) ? // 因為這個需要Ajax請求,所有返回的是個json
?@ResponseBody
?
?@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
?
6,客戶端發送PUT,DELETE請求
? 可以采用Ajax方式發送PUT和DELETE請求
?
Java代碼???
?
7,靜態資源訪問處理
采用RESTful架構后,需要將web.xml中控制器攔截的請求設置為/,這樣會將css,js等靜態資源進行攔截,發送404錯誤。
解決方法:
--配置<mvc:resources/>?
?<mvc:resources mapping="請求URI" location="資源位置" />
--配置<mvc:default-servlet-handler/>
?<mvc:default-servlet-handler/>
?
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的SpringMVC实现RESTful风格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git rm–r folder/file
- 下一篇: 杭电find the night