1. 程式人生 > >Spring MVC接受JSON格式的資料

Spring MVC接受JSON格式的資料

前端部分:

index.jsp

  1. <%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
  6. <title>測試接收JSON格式的資料</title>
  7. <scripttype="text/javascript"
    src="js/jquery-1.11.0.min.js"></script>
  8. <scripttype="text/javascript"src="js/json2.js"></script>
  9. <scripttype="text/javascript">
  10. $(document).ready(function(){  
  11.     testRequestBody();  
  12. });  
  13. function testRequestBody(){  
  14.     $.ajax("${pageContext.request.contextPath}/json/testRequestBody",// 傳送請求的URL字串。  
  15.             {  
  16.             dataType : "json", // 預期伺服器返回的資料型別。  
  17.             type : "post", //  請求方式 POST或GET  
  18.             contentType:"application/json", //  傳送資訊至伺服器時的內容編碼型別  
  19.            // 傳送到伺服器的資料。  
  20.             data:JSON.stringify({id : 1, name : "Spring MVC企業應用實戰"}),  
  21.             async:  true , // 預設設定下,所有請求均為非同步請求。如果設定為false,則傳送同步請求  
  22.            // 請求成功後的回撥函式。  
  23.            success :function(data){  
  24.                console.log(data);  
  25.               $("#id").html(data.id);  
  26.               $("#name").html(data.name);  
  27.               $("#author").html(data.author);  
  28.            },  
  29.            // 請求出錯時呼叫的函式  
  30.            error:function(){  
  31.                alert("資料傳送失敗");  
  32.            }  
  33.     });  
  34. }  
  35. </script>
  36. </head>
  37. <body>
  38. 編號:<spanid="id"></span><br>
  39. 書名:<spanid="name"></span><br>
  40. 作者:<spanid="author"></span><br>
  41. </body>
  42. </html>

2.JavaBean

 User.Java

  1. package com.bean;  
  2. import java.io.Serializable;  
  3. publicclass Book implements Serializable {  
  4.     private Integer id;  
  5.     private String name;  
  6.     private String author;  
  7.     public Integer getId() {  
  8.         return id;  
  9.     }  
  10.     publicvoid setId(Integer id) {  
  11.         this.id = id;  
  12.     }  
  13.     public String getName() {  
  14.         return name;  
  15.     }  
  16.     publicvoid setName(String name) {  
  17.         this.name = name;  
  18.     }  
  19.     public String getAuthor() {  
  20.         return author;  
  21.     }  
  22.     publicvoid setAuthor(String author) {  
  23.         this.author = author;  
  24.     }  
  25.     @Override
  26.     public String toString() {  
  27.         // TODO Auto-generated method stub
  28.         return"Book [id=" + id + ", name=" + name + ", author=" + author + "]";  
  29.     }  
  30. }  

3.控制類

 BookController.java

  1. package com.control;  
  2. import javax.servlet.http.HttpServletResponse;  
  3. import org.apache.commons.logging.Log;  
  4. import org.apache.commons.logging.LogFactory;  
  5. import org.codehaus.jackson.map.ObjectMapper;  
  6. import org.springframework.stereotype.Controller;  
  7. import org.springframework.web.bind.annotation.RequestBody;  
  8. import org.springframework.web.bind.annotation.RequestMapping;  
  9. import com.bean.Book;  
  10. @Controller
  11. @RequestMapping("/json")  
  12. publicclass BookController {  
  13.    privatestaticfinal Log logger = LogFactory.getLog(BookController.class);  
  14.    // @RequestBody根據json資料,轉換成對應的Object
  15.    @RequestMapping(value="/testRequestBody")  
  16.    publicvoid setJson(@RequestBody Book book,HttpServletResponse response) throws Exception{  
  17.       // ObjectMapper類是Jackson庫的主要類。它提供一些功能將Java物件轉換成對應的JSON格式的資料
  18.        ObjectMapper mapper =new ObjectMapper();  
  19.       // 將book物件轉換成json輸出
  20.        logger.info(mapper.writeValueAsString(book));  
  21.        book.setAuthor("海哥");  
  22.        response.setContentType("text/html;charset=UTF-8");  
  23.       // 將book物件轉換成json寫出到客戶端
  24.        response.getWriter().println(mapper.writeValueAsString(book));  
  25.    }  
  26. }  

截圖:


相關推薦

Spring MVC接受JSON格式資料

前端部分: index.jsp <%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding=

配置Spring支援自動json格式資料轉換

從|Spring3.1之後,開始推薦使用RequestMappingHandlerMapping和RequestMappingHandlerAdapter來進行方法對映, 在controller裡支援使用@RequestBody註解 (從2.5開始應該就支援的) 要使

spring mvc 接受Date型別資料,使用轉換

在controller中新增這個方法 /** * TODO:初始化接收的日期型別不然Date接收不到String型別 * @param binder */

Spring MVC返回Map格式JSON資料 瀏覽器報406 錯誤

最近嘗試著部署ssm專案,登入功能驗證使用者登入資訊返回驗證結果的時候,前臺是用ajax請求。 前臺請求ajax程式碼如下: 後臺controller 前臺請求和controller都沒錯,tomcat 也沒有報錯,匯入了jackson-core-asl-1.9.13+j

Spring mvc 使用 jackson2 返回json格式資料資料的構成

xml: <bean id="viewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <pro

Spring MVC 實現RESTful 返回JSON格式資料

在Java後端的日常開發中,系統間呼叫通過使用json格式資料,本文將向你展示如何將物件轉換成json格式並通過Spring MVC框架返回給呼叫者。 開發工具配置 Spring 4.2.7.RELEASE Jackson 2.6.7 JDK 1.7

Spring MVC 返回 JSON資料

兩種方式: 第一種:使用阿里的fastjson,對應的包。 首先,在pox.xml新增jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjs

Maven專案:Spring MVC + Ajax + Json + RequestBody:POST後臺伺服器接收前端JSON資料並註解到POJO內

最近一直看Java伺服器端開發,用的架構在Maven專案內的Web後臺伺服器,用了兩天時間明白了怎麼整合這些框架,很累找了很多資料,尤其在整個過程中Eclipse還時不時崩潰,正常的jsp檔案都打不開,需要重新啟動編譯器,另外還有不斷的除錯。由於本人對於前端不太

Spring MvcJson資料互動

在web開發中,如果想做頁面區域性重新整理的功能,那麼使用ajax最合適不過了。在spring mvc逐漸替代struts框架的今天,掌握spring mvc和json的資料互動式很有必要的。 ajax與後臺的資料互動格式有好幾種,本文主要講解以ajax以js

自定義HttpMessageConverter接受JSON格式資料

 1.配置修改 <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.o

Spring MVC返回json資料的配置方式

摘要:Spring MVC返回json資料的方式有以下幾種: (1)直接 PrintWriter 輸出 (2)使用 JSP 檢視 (3)使用Spring內建的支援本文說明的是使用Spring內建的功能。 Spring MVC返回json資料的方式有以下幾種:     (1

spring mvc 返回json 時間格式處理

從後臺返回json格式的資料,timestamp 與datetime 型別的資料,在前臺顯示為long型別的, 很是苦惱, 研究了很長時間,下面總結一下: SpringMVC使用@ResponseBody時返回json的日期格式      前提了解: @Resp

spring mvc 返回JSON數據

img iat console lips 12px array mediatype cnblogs ota servlet相關XML配置 <!--這個不啟用會報錯--><mvc:annotation-driven />

Spring MVC接受參數的註解

delattr session 如何 request 數據 template attr 文章 eva 一、Request請求發出後,Headler Method是如何接收處理數據的?     Headler Method綁定常用的參數註解,根據處理request的不同

Spring MVC 返回JSON

property 客戶 media true jackson nbsp 實體類 servle 類集 JSON是一種通用的傳輸數據的格式,現在處理JSON數據的jar包有很多,比如Jackson,Gson等,大部分方法都類似,無非是將實體類-JSON互相轉換。 在Spring

頁面訪問伺服器返回json格式資料太大,導致資料不全被截斷,無法展示

問題:頁面展示呼叫查詢方法查詢全部資料的時候一直顯示loading。。。,開啟偵錯程式顯示 Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR,而少部分查詢則正常顯示。 因為資料中有圖片轉成的二進位制陣列,資料比較長,由此懷疑

Struts2返回json格式資料踩坑記錄

事件起因 昨天提測修改凍結/解凍銀行卡樣式的功能,微姐測試過程中發現呼叫ajax請求耗時過長,今天來排查,發現瀏覽器請求/finance/ajax/freeze/ajaxGetShopLists時,對應的後端方法getShopList()莫名其妙地執行了兩遍,並且返回給瀏覽器的Json字串如下:

js 處理動態json格式資料

在json格式資料中,不直接獲取哪個key的資料,做迴圈處理時,是沒有size,length方法的 data:{ "暗咖": ["1.jpg"],   "灰藏青": ["2.jpg"] } for(var key in data) { //key 就是暗咖 //imga

jQuery+Ajax+js請求json格式資料並渲染到html頁面

1、先給json格式的資料: [ {"id":1,"name":"stan"}, {"id":2,"name":"jack"}, {"id":3,"name":"lucy"}, {"id":4,"name":"mary"}, {"id":5,"name":"jerry"}, {"id":6,"n

Spring MVC Web請求提交資料

Spring MVC Web請求提交資料到控制器有下面幾種方法:     1.使用HttpServletRequest獲取     2.使用@RequestParam註解     3.使用自動機制封