天天看點

springmvc RESTful

一、對url進行規範

  非REST的url:http://...../Items.action?id=001&type=T01

  RESTful格式的url:http://..../items/001/T01

二、對http的contentType規範

  請求時要json資料(contentType:'application/json;charset=utf-8')

三、RESTful應用

  ①、controller方法

//如果占位符中的名稱和形參名一緻,在@PathVariable可以不指定名稱
    @RequestMapping("/itemsView/{id}")
    public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id)throws Exception{
        
        //調用service查詢商品資訊
        ItemsCustom itemsCustom = itemsService.findItemsById(id);
        
        return itemsCustom;
        
    }      

    @RequestMapping(value="/ itemsView/{id}"):{×××}占位符,請求的URL可以是“/viewItems/1”或“/viewItems/2”,通過在方法中使用@PathVariable擷取{×××}中的×××變量的值。

    @PathVariable用于将請求URL中的變量映射到方法的參數上。

      RequestMapping中表示為"/ itemsView /{id}",id和形參名稱一緻,@PathVariable可以不用指定名稱。

<!-- 2、springmvc前端控制器,rest配置 
        2.1、配置DispatcherServlet前端控制器
        2.1、配置servlet映射(通路方式)
    -->
    <servlet>
        <servlet-name>springmvc_rest</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc_rest</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>      
<url-pattern>/</url-pattern>的配置前端控制器會解析靜态資源(前端控制器會去處理器映射器中查找對應的Handler,是一定找不到的)      
<!-- 靜态資源解析
    包括 :js、css、img、..
     -->
     <mvc:resources location="/js/" mapping="/js/**"/>
     <mvc:resources location="/img/" mapping="/img/**"/>