1. 程式人生 > >SpringMvc入門到開發(五)之json資料互動,RESTful支援,攔截器【附詳細截圖】

SpringMvc入門到開發(五)之json資料互動,RESTful支援,攔截器【附詳細截圖】


【說明】這是繼上一篇沒有講完的繼續。上一篇講了自定義引數型別,異常處理類,檔案上傳。接下來還有幾點!!有興趣的可以看上一篇
四:請求json,響應json實現
1、加入jar包 。如果需要springMVC支援json,必須加入json的處理jar
我們使用Jackson這個jar,如下圖:/font>
這裡寫圖片描述
2、寫一個jsp頁面,模擬傳遞過來的資料是Json

<!--引入jq-->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"
>
</script> <script type="text/javascript"> var params = '{"username":"xiaozheng","password":"123456","id":110}'; $(function(){ $.ajax({ url : "${pageContext.request.contextPath }/user/json", //傳送的url地址 data : params, //json的引數 contentType : "application/json;charset=UTF-8"
,//傳送資料的格式 type : "post", //以post方式提交 dataType : "json",//回撥,設定回撥的資料為json success : function(data){ alert("success"); } }); });
</script> </head> <body>

3、在json的控制器裡面

@RequestMapping("/json")
        //@RequestBody的作用下面講
//這句話就是講Json的資料注入到User中,然後測試列印就可以了 public String getJson(@RequestBody User user) { System.out.println(user); return "xiaozheng"; }

4:說明

@RequestBody註解用於讀取http請求的內容(字串),通過springmvc提供的HttpMessageConverter介面將讀到的內容(json資料)轉換為java物件並繫結到Controller方法的引數上。
上面的例子中,就是把json資料注入到User中,實現了收集json資料

【注意】如果出現以下問題

警告: No mapping found for HTTP request with URI [/SpringMVCTest/js/jquery-1.11.0.min.js] in DispatcherServlet with name 'SpringMvc'

//在引入靜態檔案,例如js時,需要加入<mvc:default-servlet-handler/>從而使用預設的Servlet來響應靜態檔案,
//如果沒有加入該配置,可能會有上面的提示。或者你可以在Web.xml中,看一下你攔截的路徑,修改一下就可以了

同樣的,@ResponseBody註解用於將Controller的方法返回的物件,通過springmvc提供的HttpMessageConverter介面轉換為指定格式的資料如:json,xml等,通過Response響應給客戶端

//將返回去的Item資料轉化成json資料給jsp。這裡就不做說明了額
public @ResponseBody Item testJson(@RequestBody Item item) {
    return item;
}

相關推薦

SpringMvc入門開發json資料互動RESTful支援攔截詳細

【說明】這是繼上一篇沒有講完的繼續。上一篇講了自定義引數型別,異常處理類,檔案上傳。接下來還有幾點!!有興趣的可以看上一篇 四:請求json,響應json實現 1、加入jar包 。如果需要spr

Python入門文件操作和字符編碼

Python 文件操作和字符編碼 1、文件操作 1、文件操作流程: 打開文件,得到文件句柄並賦值給一個變量===> file = open("yesterday",encoding="utf-8") 通過句柄對文件進行操作 關閉文件 ==> file.close() 1.2、打開文件的

MySQL入門高可用架構MHA

數據節點 ability ast 圖片 故障轉移 5.5 架構 日本 丟失 一、MHA原理 1、簡介: MHA(Master High Availability)目前在MySQL高可用方面是一個相對成熟的解決方案,它由日本DeNA公司youshimaton(現就職於

NS2入門學習分裂物件模型和TclCL

 TclCL其實就是連線C++與Otcl,實現兩者的互相操作和兩者之間類的對應. NS中使用兩種語言原因: C++執行速度較快,是強制型別語言(進行嚴格的資料型別檢查),容易實現複雜的資料型別和精確/複雜的演算法。但是修改/debug和重新編譯時間較長,所以適合完成網路協

百度地圖開發公交資訊檢索 + 路線規劃

    在上一篇blog中介紹過POI檢索的使用,本篇blog主要介紹公交資訊檢索和線路規劃的內容。 公交資訊檢索     實際上,公交資訊檢索與POI檢索、線上建議檢索非常相似,也是把你需要檢索的資訊傳送給百度地圖伺服器,然後解析得到的結果。     一般步驟:    

GAN網路入門教程基於條件cGAN動漫頭像生成

[toc] 在上篇部落格([AN網路之入門教程(四)之基於DCGAN動漫頭像生成](https://www.cnblogs.com/xiaohuiduan/p/13274675.html))中,介紹了基於DCGAN的動漫頭像生成,時隔幾月,序屬三秋,在這篇部落格中,將介紹如何使用條件GAN網路(conditi

python爬蟲從入門到放棄 正則的基本使用

語言 代碼例子 name 添加 iter ima 制表符 imp things 什麽是正則表達式 正則表達式是對字符串操作的一種邏輯公式,就是 事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符”,這個“規則字符” 來表達對字符的一種過濾邏輯。 正則並不是

Java 系列spring學習--springmvc註解方式

internal fault .org blank port imp handle scan html 一、springmvc註解方式   註解方式使用的更多,更加靈活。在上一篇的博客的基礎上修改springmvc-servlet.xml配置文件。 <?xml ve

mybatis入門Java API

Java API 既然你已經知道如何配置 MyBatis 和建立對映檔案,你就已經準備好來提升技能了。MyBatis 的 Java API 就是你收穫你所做的努力的地方。正如你即將看到的,和 JDBC 相比,MyBatis 很大程度簡化了你的程式碼並保持程式碼簡潔,容易

JavaFX入門在JavaFX中建立表單

在開發應用程式時,建立表單是一項常見活動。本教程將向您介紹屏幕布局的基礎知識,如何將控制元件新增到佈局窗格以及如何建立輸入事件。 在本教程中,您將使用JavaFX構建如圖4-1所示的登入表單。 圖4-1登入表單   本入門教程中使用的工具是NetBeans

Java網路程式設計入門TCP程式設計——複用Socket連線

如何複用Socket連線? 在前面的示例中,客戶端中建立了一次連線,只發送一次資料就關閉了,這就相當於撥打電話時,電話打通了只對話一次就關閉了,其實更加常用的應該是撥通一次電話以後多次對話,這就是複用客戶端連線。 那 麼如何實現建立一次連線,進行多次資料交換呢?其實很簡單

Flask專案手機端租房網站的實戰開發

說明:該篇部落格是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家! 接著上一篇部落格繼續往下寫 :https://blog.csdn.net/qq_41782425/article/details/85706012 注:在此專案中我不會使用程式碼塊插入程式碼,而是通過插入圖片來進行演

Cordova+Angularjs+Ionic混合開發入門—— 外掛的釋出

自己編寫完的外掛只能自己使用,想共享到Internet或者用到別的專案就比較麻煩,這是我們需要把程式碼做成外掛形式,然後釋出到網上少說廢話,直奔主題!【iOS版,Mac環境】 1.方式一:GitHub託管 cordova    plugin    add    htt

IOS 初級開發入門教程TextField與ReturnKey實戰練習

前言看完前面4章的內容,基本對IOS開發有一些認識了,這章我們繼續動手去實踐一下,學習文字和鍵盤的相關知識,以及通過一個互動式的案例演示文字與鍵盤的使用。系列文章:UIKit繼承結構我們通過這個UIKit繼承結構圖,我們試著找到本章要學習的TextFiled與TextView

SpringMVC原始碼解析關於json,xml的自動轉換原理

            關於json,xml的自動轉換原理的核心就在messageConvert,前一篇我們已經分析到通過messageConvert對請求引數進行解析讀取,那就續點分析。             本節就以json的轉換為例(xml類同只是不同的mess

EOSIO開發- 錢包實戰篇

通過這篇文章,我們將學習如何通過cleos命令管理錢包。 環境準備 Docker環境: docker pull eosio/eos # 下載映象 docker run --name keosd -t eosio/eos /opt/eosio/bin/keosd

Atlassian In Action-Jira二次開發

到現在已經寫到了第五章節,實際上離Jira的官方系統已經越來越遠,本章節的內容基本上已經完全脫離了Jira這個系統本身,而是依賴Jira的API介面和資料庫進行開發了。主要包含如下幾個功能: 人員任務排期管理 歷史人員任務排期檢查 BI報表 注意: 由於我們的二次開發基本都是做成靜態頁面,但是大量使用了J

資料探勘入門系列教程Apriori演算法Python實現

資料探勘入門系列教程(五)之Apriori演算法Python實現載入資料集獲得訓練集頻繁項的生成生成規則獲得support獲得confidence獲得Lift進行驗證總結參考 資料探勘入門系列教程(五)之Apriori演算法Python實現 在上一篇部落格中,我們介紹了Apriori演算法的演算法流

使用Struts2和jQuery EasyUI實現簡單CRUD系統——jsp,json,EasyUI的結合

元素 word cli resultset sheet 傳輸 charset {} tco 這部分比較復雜,之前看過自己的同學開發一個選課系統的時候用到了JSON,可是一直不知道有什麽用。寫東西也沒用到。所以沒去學他。然後如今以這樣的懷著好奇心,這是做什麽用的,這是怎麽用

mysql基礎pymysql

none set python 導入 char span import mysql pre pymysql模塊: pip3 install pymysql -i https://pypi.douban.com/simple Python模塊:對數據庫進行