发表于: 2018-01-12 21:35:30
1 701
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了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对象的基本使用.
评论