【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
2015-05-25 21:12
876 查看
《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html
【Spring学习笔记-MVC-4】返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html
【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展:http://www.cnblogs.com/ssslinppp/p/4675495.html
文章的内容主要如下:方式1:讲解如果返回单个对象的json;==>使用@ResponseBody来实现;注解方式
方式2:讲解如果返回多个对象的json;==>使用MappingJacksonJsonView来实现;xml配置方式
方式1-扩展:讲解如果返回多个对象的json;==>使用@ResponseBody来实现;注解方式
个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用。
【Spring学习笔记-MVC-4】返回Json数据-方式2:
【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展:
文章的内容主要如下:方式1:讲解如果返回单个对象的json;==>使用@ResponseBody来实现;注解方式
方式2:讲解如果返回多个对象的json;==>使用MappingJacksonJsonView来实现;xml配置方式
方式1-扩展:讲解如果返回多个对象的json;==>使用@ResponseBody来实现;注解方式
个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用。
摘要
使用SpringMVC,实现json数据的返回。主要步骤:额外添加2个jar包;使用@ResponseBody声明返回值;
配置<mvc:annotation-driven/>;==>需要引入:xmlns:mvc="http://www.springframework.org/schema/mvc";
@ResponseBody:
作用:该注解用于将Controller方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后(如:json格式),写入到Response对象的body数据区。使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;<mvc:annotation-driven/>:
<mvc:annotation-driven/>会自动注册DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter
两个bean,这两个bean是springMVC为@Controllers分发请求所必须的。并提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
需要的jar包
上面两个都是必须的。
项目结构
程序代码
Shop.javapackagecom.ll.model;
publicclassShop{
Stringname;
StringstaffName[];
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicString[]getStaffName(){
returnstaffName;
}
publicvoidsetStaffName(String[]staffName){
this.staffName=staffName;
}
}
[/code]JSONController.java
packagecom.ll.controller;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.ResponseBody;
importcom.ll.model.Shop;
@Controller
@RequestMapping("/kfc/brands")
publicclassJSONController{
@RequestMapping(value="{name}",method=RequestMethod.GET)
public@ResponseBodyShopgetShopInJSON(@PathVariableStringname){
System.out.println("-----请求json数据--------");
Shopshop=newShop();
shop.setName(name);
shop.setStaffName(newString[]{"mkyong1","mkyong2"});
returnshop;
}
}
[/code]
添加:@ResponseBody作为返回值。
web.xml<web-appid="WebApp_ID"version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
'target='_blank'>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">[/code] <display-name>SpringWebMVCApplication</display-name><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>mvc-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc-dispatcher</servlet-name><url-pattern>/rest/*</url-pattern></servlet-mapping></web-app>
[/code]
mvc-dispatcher-servlet.xml<beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans 'target='_blank'>http://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/code] http://www.springframework.org/schema/context 'target='_blank'>http://www.springframework.org/schema/context/spring-context-3.0.xsd[/code] 'target='_blank'>http://www.springframework.org/schema/mvc[/code] 'target='_blank'>http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">[/code] <context:component-scanbase-package="com.ll.controller"/><mvc:annotation-driven/></beans>
[/code]开启:<mvc:annotation-driven/>
applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans'target='_blank'>http://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/code] http://www.springframework.org/schema/context 'target='_blank'>http://www.springframework.org/schema/context/spring-context-3.0.xsd[/code] http://www.springframework.org/schema/tx 'target='_blank'>http://www.springframework.org/schema/tx/spring-tx-3.0.xsd[/code] 'target='_blank'>http://www.springframework.org/schema/aop[/code] 'target='_blank'>http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">[/code] <!--扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入--><context:component-scanbase-package="com.ll.model"/></beans>
[/code]运行
参考网站[/b]http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/ http://my.oschina.net/abian/blog/128028 来自为知笔记(Wiz) 附件列表
相关文章推荐
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
- 【Spring学习笔记-MVC-6】SpringMVC 之@RequestBody 接收Json数组对象
- 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat
- 【Spring】SpringMVC返回json数据的三种方式
- 【spring】 SpringMVC返回json数据的三种方式
- SpringMVC学习笔记(7) 返回Json格式数据
- springBoot 学习记录(二)-返回json数据的几种方式
- springmvc学习笔记--json--返回json的日期格式问题
- json数据交互---SpringMVC学习笔记(十二)
- SpringMVC 学习笔记(七) JSON返回:HttpMessageConverter作用
- springMVC返回json数据的方式
- springmvc学习笔记(18)-json数据交互
- Spring MVC + Mybatis 一个简单的例子 — 返回Json数据
- springmvc学习笔记--json--返回json的日期格式问题
- Spring Boot 学习2--Spring Boot返回json数据
- SpringMVC返回json数据的三种方式
- SpringMVC学习笔记(六):如何返回数据