发表于: 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



返回列表 返回列表
评论

    分享到