发表于: 2017-11-03 23:14:00
1 827
今天完成的任务:
1.完成任务六的压测报告,测试json数据接口。json还是快多了啊。
2.准备小课堂。
认真的学习一下json。
JSON,全称是 JavaScript Object Notation,即 JavaScript 对象标记法。是一种轻量的数据交换格式。
返回json格式的数据有两种方法:使用@ResponseBody注解,和使用taglib的方法来在jsp中返回。
先说使用@ResponseBody的方法。
该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
这样就可以完成了json的格式转换。
首先去配置pom
网上看到过好多种版本的依赖。
然后需要有配置
<mvc:annotation-driven/>
然后在Controller中加入一个方法:
@RequestMapping(value = "/jsonn",method = RequestMethod.GET)
public @ResponseBody User JsonTest(){
User user=userServiceImpl.get(4);
return user;
}
或者放在方法的上面,两种好像没啥区别。试过了结果都是可以返回的。
@ResponseBody
@RequestMapping(value = "/json1",method = RequestMethod.GET)
public User JsonTest(){
User user=userService.get(4);
return user;
}
这样就可以了,运行一般没啥问题都可以返回正确的json数据。
这里面可能碰到的问题:
1.java.lang.ClassNotFoundException: com.fasterxml.jackson.core.util.DefaultIndenter
这是因为,下面这个依赖的版本太低了,没有com.fasterxml.jackson.core.util.DefaultIndenter这个类,使用高一点的版本就好了。2.6.0/2.8.0都可以
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>
2.对于格式转化的配置
使用<mvc:annotation-driven/>
其实spring已经提供了HttpMessageConverter转换器,而且默认情况下是加载了MappingJackson2HttpMessageConverter,只需要配置ResponseBody就可以了。
在使用 <mvc:annotation-driven />标签配置时,默认配置了RequestMappingHandlerAdapter
,这里面已经写好了读取并且转换成json的方法。但是在百度上面看到很多在配置文件里面去配置转换器的说法,这个也可以一个遇到问题的解决思路,就是在springmvc的配置文件中写这些:手动的配置一下。然后这里还有个版本的问题:就是在Spring4.0以上使用的是:
MappingJackson2HttpMessageConverter,
以下使用的是MappingJacksonHttpMessageConverter。
只是提供一个思路,因为我并没有用这个解决什么问题。
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" id="mappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="annotationMethodHandlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
参考:http://www.cnblogs.com/qq78292959/p/3760651.html
明天计划:
讲小课堂,然后开始看看任务七
遇到问题:
json报错,很多错误。。。
收获:
任务六的json压测完成了。
禅道:
http://taskNaNteng.com/zentao/task-view-10340.html
评论