发表于: 2018-01-12 21:35:30

1 702


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

进行了jmeter的使用

和jmeter有个很好的配合使用的软件badboy

badboy用以录制访问网站的脚本,然后给jmeter进行循环压测.

将导出的脚本导入jemter

给了500个线程请求,测试的卢静的服务器

看一下聚合报告

只返回了202次有效的请求,然后服务挂掉了,可以看到最后几次响应花了2分钟才回来.

降低请求数,再次进行测试.

可以看到和上面10秒500个请求比较,这个数据要好很多.   这个小水管服务器10秒内最多也就能处理200个登陆请求左右了.


下午的时候和卢静探讨了一波json对象的生成与传递,大概的了解了一下目前2种方式.

第一种,使用json-taglib插件

需要导入的依赖包

<!-- https://mvnrepository.com/artifact/atg.taglib.json/json-taglib -->
<dependency>
 <groupId>atg.taglib.json</groupId>
 <artifactId>json-taglib</artifactId>
 <version>0.4.1</version>
</dependency>


这种方式的话,我们ctroller的代码和之前直接在jsp页面进行渲染很相似.(基本相同)

   /**
    * json数据转换的尝试
    * @param modelMap 保存对象给页面使用
    * @return 跳转到json1.jsp页面
    */
   @RequestMapping(value = "/student/json1", method = RequestMethod.GET)
public String json(ModelMap modelMap){
List<String> list = new ArrayList<>();
       list.add("123");
       list.add("234");
       list.add("567");
       modelMap.addAttribute("list", list);
       modelMap.addAttribute("list1", 234);
       return "json1";
   }
}

将要装到json对象里的数据使用model装起来.然后返回对应的jsp页面

<body>
<json:object name="123">
<json:property name="123" value="${list}"/>
<json:property name="234" value="${list1}"/>
<json:array name="222">
<json:object>
<json:property name="123" value="${list}"/>
</json:object>
</json:array>
</json:object>
</body>

用postman测试一下该接口

可以看到已经将jsp页面里的数据封装成了json对象.

第二种,使用spring的annotation来完成.

需要的依赖包

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-annotations</artifactId>
 <version>2.9.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-databind</artifactId>
 <version>2.9.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-core</artifactId>
 <version>2.9.3</version>
</dependency>

controller

@RequestMapping(value = "/json",method = RequestMethod.GET)
public @ResponseBody Map json(){
HashMap<String,Object> jsonObject = new HashMap<>();
   int[]arr = {1,2,3,4,5};
   jsonObject.put("name", 1);
   jsonObject.put("arr",arr);
   return jsonObject;
}

如果只想给前端一个单一的数据对象,直接返回值设置为该对象即可,我返回一个map是为了方便添加更多的数据到该json对象中,

并且前端可以通过key/value的方式获取到该map中的数据.这种方式就不需要我们提供jsp了.前端通过url可以直接获取到需要使用的数据.

通过postman测试一下该接口

可以看到该json对象已经发送给前端. 该对象中有一个key为arr的数组,一个key为name的integer


明天计划的事情:(一定要写非常细致的内容) 

学习Memcache并重新测试服务器.
遇到的问题:(遇到什么困难,怎么解决的) 

对于jemter这个软件认知度还是不够高,还得继续学习.
收获:(通过今天的学习,学到了什么知识)

学会badboy.jemter 以及json对象的基本使用.


返回列表 返回列表
评论

    分享到