1. 程式人生 > >Vue全家桶+SSR+Koa2全棧開發美團網(已完結)2018年(最全)

Vue全家桶+SSR+Koa2全棧開發美團網(已完結)2018年(最全)

1. SpringMVC Json互動
  在 Java WEB 中經常用到 Json 資料來進行介面呼叫,傳遞資料,主要是因為 Json 格式的資料容易解析。SpringMVC支援 Json 格式的資料使用註解進行解析或轉為 Json。

2. SpringMVC Json 互動相關注解
  @RequestBody :用於讀取 HTTP 請求的內容(字串),通過 SpringMVC 提供的 HttpMessageConverter 介面將讀到的內容轉換為 Json、XML 等格式的資料並繫結到 Controller 方法的引數上。
  @ResponseBody :用於將 Controller 的方法返回的物件,通過HttpMessageConverter 介面轉換為指定格式的資料如:Json、XML 等格式,再通過 Response 響應給客戶端。

3. 匯入 Jackson JAR
  Jackson 1.X 的需要匯入的 JAR 包是 jackson-core-xxx.jar 和jackson-mapping-xxx.jar;Jackson 2.X 的需要匯入的 JAR 包是 jackson-core-xxx.jar 、 jackson-annotations-xxx.jar 和 jackson-databind-xxx.jar。我們這裡用的是 Jackson 2.X,點選下載。


  這裡我們匯入 Jquery ,通過 Ajax 請求進行測試。注意,在 springmc.xml 中配置一下靜態資原始檔,最好這樣,不然以後你的 DispatcherServlet 改變了攔截方式,js 就會被攔截,不能使用。

<!-- 對靜態資源訪問 -->
<mvc:resources location="/js/" mapping="/js/**"/>
1
2
  我這裡使用的註解的處理器介面卡是使用 mvc:annotation-driven,如果不是就需要配置才可以使用上述兩個註解,配置有:

<!--註解介面卡 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
    <list>
        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
    </list>
    </property>
</bean>

1
2
3
4
5
6
7
8
9
4. 請求 Json,返回 Json
  在 JSP 中 匯入 Jquery 並編寫程式碼。

<script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-3.3.1.js"></script>
1
<script type="text/javascript">

//請求json 響應json
function requestJson(){
    $.ajax({
        type:"post",
        url:"${pageContext.request.contextPath }/json/requestJson.action",
        contentType:"application/json;charset=utf-8",
        data:'{"name":"商品名稱","price":99}',
        success:function(data){
            console.log(data);
        }
    });
}

</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  Controller 中編寫方法:

@RequestMapping("requestJson")
public @ResponseBody Items requestJson(@RequestBody Items items) {
    System.out.println(items);
    
    return items;
}
1
2
3
4
5
6
5. 請求 key/value,返回 Json
  在 JSP 中 匯入 Jquery 並編寫程式碼。

<script type="text/javascript">

//請求key/value 響應json
function responseJson(){
    $.ajax({
        type:"post",
        url:"${pageContext.request.contextPath }/json/responseJson.action",
        data:{
            "name":"商品名稱",
            "price":99
        },
        success:function(data){
            console.log(data);
        }
    });
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  Controller 中編寫方法:

@RequestMapping("responseJson")
public @ResponseBody Items responseJson(Items items) {
    
    return items;
}
1
2
3
4
5
6. 統一測試
  JSP 新增程式碼:

<body>
    <button onclick="requestJson()">requestJson</button>
    <hr>
    <button onclick="responseJson()">responseJson</button>
</body>
1
2
3
4
5
  J點選相應的按鈕,按 F12 在控制檯列印如下內容:

--------------------- 
作者:lytao123 
來源:CSDN 
原文:https://blog.csdn.net/qq_24598601/article/details/85028428 
版權宣告:本文為博主原創文章,轉載請附上博文連結!