Springmvc ResponseBody響應(yīng)json數(shù)據(jù)實(shí)現(xiàn)過程
該注解用于將 Controller 的方法返回的對(duì)象,通過 HttpMessageConverter 接口轉(zhuǎn)換為指定格式的數(shù)據(jù)如:json,xml 等,通過 Response 響應(yīng)給客戶端
示例
需求:使用@ResponseBody 注解實(shí)現(xiàn)將 controller 方法返回對(duì)象轉(zhuǎn)換為 json 響應(yīng)給客戶端。
前置知識(shí)點(diǎn):Springmvc 默認(rèn)用 MappingJacksonHttpMessageConverter 對(duì)json數(shù)據(jù)進(jìn)行轉(zhuǎn)換,需要加入jackson 的包。
注:2.7.0以下的版本用不了
jsp代碼
<!-- 測(cè)試異步請(qǐng)求 -->
<input type="button" value="測(cè)試ajax請(qǐng)求json和響應(yīng)json" id="testJson"/>
<script type="text/javascript"src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#testJson").click(function(){
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/testResponseJson",
contentType:"application/json;charset=utf-8",
data:JSON.stringify({"id":1,"name":"test","money":999.0}),
dataType:"json",
success:function(data){
alert(data);
}
});
});
})
</script>
控制器代碼
/**
* 響應(yīng) json 數(shù)據(jù)的控制器
* @author 黑馬程序員
* @Company http://www.ithiema.com
* @Version 1.0
*/
@Controller("jsonController")
public class JsonController {
/**
* 測(cè)試響應(yīng) json 數(shù)據(jù)
*/
@RequestMapping("/testResponseJson")
public @ResponseBody Account testResponseJson(@RequestBody Account account) {
System.out.println("異步請(qǐng)求:"+account);
return account;
}
}
配置json轉(zhuǎn)換器
如果不使用注解驅(qū)動(dòng)<mvc:annotation-driven />,就需要給處理器適配器配置json轉(zhuǎn)換器
在springmvc.xml配置文件中,給處理器適配器加入json轉(zhuǎn)換器:
<!--處理器適配器 --> <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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringMVC集成Web與MVC執(zhí)行流程和數(shù)據(jù)響應(yīng)及交互相關(guān)介紹全面總結(jié)
- SpringMvc請(qǐng)求處理參數(shù)?和?響應(yīng)數(shù)據(jù)處理的示例詳解
- SpringMVC數(shù)據(jù)頁(yè)響應(yīng)ModelAndView實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)
- Java SpringMVC數(shù)據(jù)響應(yīng)超詳細(xì)講解
- SpringMVC中Controller類數(shù)據(jù)響應(yīng)的方法
- SpringMvc響應(yīng)數(shù)據(jù)及結(jié)果視圖實(shí)現(xiàn)代碼
- SpringMVC接收與響應(yīng)json數(shù)據(jù)的幾種方式
- SpringMVC數(shù)據(jù)響應(yīng)詳細(xì)介紹
相關(guān)文章
java實(shí)現(xiàn)隨機(jī)數(shù)生成器
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)隨機(jī)數(shù)生成器,隨機(jī)數(shù)生成小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Java?超詳細(xì)講解Spring?MVC異常處理機(jī)制
Spring?MVC中提供了一個(gè)通用的異常處理機(jī)制,它提供了一個(gè)成熟、簡(jiǎn)潔并且清晰的異常處理方案。當(dāng)使用Spring?MVC開發(fā)Web應(yīng)用時(shí),利用這套現(xiàn)成的機(jī)制進(jìn)行異常處理也更加自然并且高效2022-04-04
springboot跨域訪問cros與@CrossOrigin注解詳析
這篇文章主要給大家介紹了關(guān)于springboot跨域訪問cros與@CrossOrigin注解的相關(guān)資料,跨域是指不同域名之間相互訪問,它是瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript施加的安全限制,需要的朋友可以參考下2023-12-12
Java垃圾回收機(jī)制的finalize方法實(shí)例分析
這篇文章主要介紹了Java垃圾回收機(jī)制的finalize方法,結(jié)合實(shí)例形式分析了finalize方法的特點(diǎn)及在垃圾回收機(jī)制中的相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
Java中JSONObject和Map<String,?Object>的轉(zhuǎn)換方法
平時(shí)對(duì)接口時(shí),經(jīng)常遇到j(luò)son字符串和map對(duì)象之間的交互,這篇文章主要給大家介紹了關(guān)于Java中JSONObject和Map<String,?Object>的轉(zhuǎn)換方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
一文徹底弄懂spring?boot自動(dòng)配置的過程(推薦)
SpringBoot的自動(dòng)配置機(jī)制通過@SpringBootApplication注解作為起點(diǎn),結(jié)合@EnableAutoConfiguration和spring.factories文件,實(shí)現(xiàn)了基于類路徑依賴、環(huán)境配置和自定義代碼的智能化配置,感興趣的朋友跟隨小編一起看看吧2024-10-10

