发表于: 2018-04-04 23:00:17

1 603


一、今天完成的事情


1、完成小课堂的相关讲解



一、背景介绍

什么是json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,因为其高性能、可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据格式,目前我们在做任务和复盘项目的时候都是使用json-taglib标签实现从Java的各种对象到json的转换

json-taglib是在2007年2月份发布的,最后一次更新发生在2008年1月,之所以很久没有发布更新,个人认为是因为两点。第一:这个自定义标签的技术已经趋于成熟,没有什么继续优化的必要了 第二:随着前后端分离,jsp已经开始慢慢淡出后端开发


为什么我们要使用json-taglib来转换并获取json数据呢?

和其它的json转换方式相比:

1、使用简单

2、转换处理灵活

3、代码可读性高



二、知识剖析

我们要如何使用json-taglib标签呢?

1、去官网下载jar包并添加到本地maven仓库中,maven仓库中心没有jar包

2、新建jsp页面,在里面就可以利用标签获取json格式的数据

3、标签只需要简单的三个:json:object(json对象)、json:array(json数组)、json:property(json对象中的属性) 。 使用这三个标签的嵌套就可以做出各式各样我们所需要的json数据,完全可以满足我们的开发需求。



三、常见问题

   1、 据我在网上查找教程显示的结果上看,使用json-taglib标签并不算是现在后端开发当中最主流的转换json格式的方式,那么除了这种方式,还有什么方式可以转换json数据并达到前后端交互的目的呢?几种方式到底有什么区别,以上说的json-taglib的优点是怎么体现的呢?和其它的几种方式比起来又有哪些值得改进的地方呢?


    2、既然也有很多后端开发者使用第二种方式来进行json数据的转换,那相对于json-taglib,这种方式的优点是什么?

优点:使用@ResponseBody的性能更优于json-taglib



4.解决方案

通过@responseBody注解的方式

如果在控制器的方法上标注这个注解,那么该方法返回的对象不会经过视图解析器的渲染,而是根据HTTP Request Header的内容,由前端小伙伴设置指定转换的格式,不设置的话默认请求的就是json格式,在请求到json之后,将json写入Response的Body数据区域中。

Jmeter测试性能



五、编码实战



六、扩展思考

有没有办法在注解方式下传递json格式的时候简单的完成对象属性的过滤?

1、在需要屏蔽的属性上加@jsonignore

2、json字段过滤器

七、参考文献

1.CSDN博客:https://blog.csdn.net/chivalrousli/article/details/50827735

2.张鑫师兄的PPT

八、更多讨论

Q1、使用@ResponsBody忽略属性前 后,性能会产生变化么?

答:影响微乎其微

Q2、导致性能差异的原因?

答:基于注解的json不经过视图解析层

Q3、jsontaglib可以单纯用jsp编写嘛

答:可以

今天的分享就到这里啦,欢迎大家提问和探讨!

小课堂视频



2、研究了需求文档和原型图,准备开搞





二、明天计划完成的事情


1、全面分析需求文档和原型图,分好模块


2、学习svn


3、复习敏捷开发流程




三、遇到的问题


暂无



四、收获


如上所述


http://task.ptteng.com/zentao/project-task-488-unclosed.htm


返回列表 返回列表
评论

    分享到