亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談SpringMVC對RESTfull的支持

 更新時間:2018年02月06日 13:46:33   作者:eson_15  
這篇文章主要介紹了淺談SpringMVC對RESTfull的支持,分享了相關(guān)配置代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是SpringMVC對RESTfull的支持的相關(guān)內(nèi)容,具體如下。

  RESTful架構(gòu),就是目前流行的一種互聯(lián)網(wǎng)軟件架構(gòu)。它結(jié)構(gòu)清晰、符合標準、易于理解、擴展方便,所以正得到越來越多網(wǎng)站的采用。RESTful架構(gòu)對url進行規(guī)范,寫RESTful格式的url是什么樣子的呢?我們一般請求的url是類似這樣子的:

http://...../xxx.action?id=001&type=aaa

  而REST的url風格是什么樣子呢?一般它類似于:

http://..../xxx/001

  所以REST有個很明顯的特點:使url變得簡潔,將參數(shù)通過url傳到服務端。springmvc也是支持這種REST風格的url的,我們定義一個controller來測試一下:

//查詢商品信息,輸出json,使用RESTful
@RequestMapping("/itemsView/{id}")
public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception {
  ItemsCustom itemsCustom = itemsService.findItemsById(id);
  return itemsCustom;
}

  @ResponseBody是用來將itemsCustom轉(zhuǎn)成json的注解,而@PathVariable注解則是跟REST有關(guān)了,@RequestMapping(value=”/ itemsView/{id}”)中的{id}表示一個占位符,那么這里面?zhèn)鬟^來的值會傳到被@PathVariable標記的形參上,如果形參和占位符中的變量一樣的話,可以不用再注解中指定,否則注解中要指定這個占位符中的變量(即id)。這樣的話,參數(shù)就可以通過url傳到形參中來了。

  但是這樣還不行,還要在前端控制器中針對REST進行配置,如下:

<!-- 配置springmvc的前端控制器DispatcherServlet,REST配置 -->
<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:spring/springmvc.xml</param-value>
  </init-param>
</servlet>

<servlet-mapping>
  <servlet-name>springmvc_rest</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

 攔截的是所有的url(/),這個配置跟之前配置好的前端控制器是沒有沖突的,可以并存。經(jīng)過這樣配置后,就可以在瀏覽器中輸入http://localhost:8080/SpringMVC_Study/itemsView/1來測試返回到瀏覽器的數(shù)據(jù)了,可以看到返回一串json數(shù)據(jù)。

  但是有個問題,使用上面的配置后會攔截所有的url,那么對靜態(tài)資源也會攔截,所以DispatcherServlet也會解析靜態(tài)資源,但是這樣的話就會出錯,所以我們要設置一下不讓它解析靜態(tài)資源。如:

<!-- 靜態(tài)資源解析,包括js,css,img... -->
<mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
<mvc:resources location="/img/" mapping="/img/**"></mvc:resources>

  如果還有其他靜態(tài)資源的話,也要設置一下,這樣就不會去解析靜態(tài)資源了,訪問靜態(tài)資源的時候就直接訪問即可。

總結(jié)

以上就是本文關(guān)于淺談SpringMVC對RESTfull的支持的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Scala小程序詳解及實例代碼

    Scala小程序詳解及實例代碼

    這篇文章主要介紹了Scala 第一個Scala小程序詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • web.xml詳解_動力節(jié)點Java學院整理

    web.xml詳解_動力節(jié)點Java學院整理

    這篇文章給大家詳細介紹了web.xml的相關(guān)知識,需要的朋友可以參考下
    2017-07-07
  • SpringBoot實現(xiàn)無限級評論回復的項目實踐

    SpringBoot實現(xiàn)無限級評論回復的項目實踐

    本文主要介紹了SpringBoot實現(xiàn)無限級評論回復的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Javaweb使用thymeleaf局部刷新結(jié)合Layui插件實現(xiàn)Html分頁

    Javaweb使用thymeleaf局部刷新結(jié)合Layui插件實現(xiàn)Html分頁

    本文主要介紹了Javaweb使用thymeleaf局部刷新結(jié)合Layui插件實現(xiàn)Html分頁,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • springboot?@Async?注解如何實現(xiàn)方法異步

    springboot?@Async?注解如何實現(xiàn)方法異步

    這篇文章主要介紹了springboot?@Async?注解如何實現(xiàn)方法異步,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中幾種常用加密算法盤點

    Java中幾種常用加密算法盤點

    隨著互聯(lián)網(wǎng)的發(fā)展,信息安全問題日益受到重視,加密算法在保證信息安全傳輸方面發(fā)揮著重要作用,本文將簡要盤點幾種常用的Java加密算法,介紹它們的基本原理、特點及應用情況,以幫助讀者全面了解當前加密算法的發(fā)展狀況,需要的朋友可以參考下
    2023-11-11
  • 根據(jù)list中對象的屬性去重和排序小結(jié)(必看篇)

    根據(jù)list中對象的屬性去重和排序小結(jié)(必看篇)

    下面小編就為大家?guī)硪黄鶕?jù)list中對象的屬性去重和排序小結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之二叉堆

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之二叉堆

    二叉堆是一種特殊的堆,其實質(zhì)是完全二叉樹。二叉堆有兩種:最大堆和最小堆。最大堆是指父節(jié)點鍵值總是大于或等于任何一個子節(jié)點的鍵值。而最小堆恰恰相反,指的是父節(jié)點鍵值總是小于任何一個子節(jié)點的鍵值
    2022-02-02
  • JavaSE經(jīng)典小練習項目之拷貝文件夾

    JavaSE經(jīng)典小練習項目之拷貝文件夾

    文件拷貝是一個常見的任務,無論是備份文件,還是將文件從一個位置復制到另一個位置,文件拷貝都是必不可少的,這篇文章主要給大家介紹了關(guān)于JavaSE經(jīng)典小練習項目之拷貝文件夾的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • java線程池實現(xiàn)批量下載文件

    java線程池實現(xiàn)批量下載文件

    這篇文章主要為大家詳細介紹了java線程池實現(xiàn)批量下載文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論