- 簡介
RESTful架構,就是目前最流行的一種互聯網軟件架構。它結構清晰、符合標准、易於理解、擴展方便,所以正得到越來越多網站的采用。RESTful(即Representational State Transfer的縮寫)其實是一個開發理念,是對http的很好的詮釋。
1、對url進行規范,寫RESTful格式的url
非REST的url:http://...../queryItems.action?id=001&type=T01
REST的url風格:http://..../items/001
特點:url簡潔,將參數通過url傳到服務端
2、http的方法規范
不管是刪除、添加、更新。。使用url是一致的,如果進行刪除,需要設置http的方法為delete,同理添加。。。
后台controller方法:判斷http方法,如果是delete執行刪除,如果是post執行添加。
3、對http的contentType規范
請求時指定contentType,要json數據,設置成json格式的type。
- 添加DispatcherServlet的rest配置
1 <servlet> 2 <servlet-name>springmvc-servlet-rest</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4 <init-param> 5 <param-name>contextConfigLocation</param-name> 6 <param-value>classpath:spring/springmvc.xml</param-value> 7 </init-param> 8 </servlet> 9 <servlet-mapping> 10 <servlet-name>springmvc-servlet-rest</servlet-name> 11 <url-pattern>/</url-pattern> 12 </servlet-mapping>
- URL 模板模式映射
@RequestMapping(value="/ viewItems/{id}"):{×××}占位符,請求的URL可以是“/viewItems/1”或“/viewItems/2”,通過在方法中使用@PathVariable獲取{×××}中的×××變量。@PathVariable用於將請求URL中的模板變量映射到功能處理方法的參數上。
1 @RequestMapping("/viewItems/{id}") 2 public @ResponseBody viewItems(@PathVariable("id") String id,Model model) throws Exception{ 3 //方法中使用@PathVariable獲取useried的值,使用model傳回頁面 4 //調用 service查詢商品信息 5 ItemsCustom itemsCustom = itemsService.findItemsById(id); 6 return itemsCustom; 7 }
如果RequestMapping中表示為"/viewItems/{id}",id和形參名稱一致,@PathVariable不用指定名稱。
- 靜態資源訪問<mvc:resources>
如果在DispatcherServlet中設置url-pattern為 /則必須對靜態資源進行訪問處理。
spring mvc 的<mvc:resources mapping="" location="">實現對靜態資源進行映射訪問。
如下是對js文件訪問配置:
1 <mvc:resources location="/js/" mapping="/js/**"/>