使用spring4.0和4.1注解返回json格式的数据的两种实现方式
2017-02-11 13:30
645 查看
开发环境:myeclipse2015、tomcat8.0、jdk1.8
1、使用spring4.0.2.RELEASE、jackson1.9.13,pom.xml配置:
然后使用spring mvc的默认配置即可返回json,为了避免IE执行ajax时,返回json出现下载文件的问题,spring-mvc.xml可使用如下配置:
2、使用spring4.1.1.RELEASE、jackson2.4.4
spring-mvc.xml配置:
其中:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter与spring4.0的配置不同,使用的MappingJackson2HttpMessageConverter。
有个问题需注意:如果在spring4.1.1下使用jackson2.4.0版本,启动tomcat后请求时,会报406错误:
1、使用spring4.0.2.RELEASE、jackson1.9.13,pom.xml配置:
1 <properties> 2 <!-- <spring.version>4.0.2.RELEASE</spring.version> --> 3 <spring.version>4.1.1.RELEASE</spring.version> 4 <mybatis.version>3.2.6</mybatis.version> 5 <slf4j.version>1.7.7</slf4j.version> 6 <log4j.version>1.2.17</log4j.version> 7 <jackson.version>2.4.4</jackson.version> 8 </properties> 9 <dependencies> 10 <dependency> 11 <groupId>org.codehaus.jackson</groupId> 12 <artifactId>jackson-core-asl</artifactId> 13 <version>1.9.13</version> 14 </dependency> 15 <dependency> 16 <groupId>org.codehaus.jackson</groupId> 17 <artifactId>jackson-mapper-asl</artifactId> 18 <version>1.9.13</version> 19 </dependency> 20 </dependencies>
然后使用spring mvc的默认配置即可返回json,为了避免IE执行ajax时,返回json出现下载文件的问题,spring-mvc.xml可使用如下配置:
<!-- 避免IE执行ajax时,返回json出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> --> <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- json转换器 --> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean>
2、使用spring4.1.1.RELEASE、jackson2.4.4
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency>
spring-mvc.xml配置:
<!-- 避免IE执行ajax时,返回json出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> --> <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- json转换器 --> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean>
其中:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter与spring4.0的配置不同,使用的MappingJackson2HttpMessageConverter。
有个问题需注意:如果在spring4.1.1下使用jackson2.4.0版本,启动tomcat后请求时,会报406错误:
相关文章推荐
- eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数。 2. 使用Function对象来进行返回解析。 使用eval
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- swift:使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- ssh/ssm使用CXF实现基于Rest方式的WebService并返回json数据
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- 使用getJSON()异步请求服务器返回json格式数据的实现
- 使用jQuery框架的ajax技术,在Struts2返回json格式的数据
- 久违的json使用大法 (通常Ajax希望返回多个键值对,可以用将要返回的数据先封装到一个对象中,再将这个对象转为json格式)
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- 关于ajax接受json格式的数据二(使用jquery方式)
- Android访问网络:服务端返回XML或JSON格式数据,Android 进行解析并使用ListView显示
- spring mvc 返回json格式数据的方式
- SSH框架实现返回json数据,并使用android app进行访问
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- json和xml数据格式基于ajax的实现方式