发表于: 2017-12-10 00:00:41
1 723
https://www.zhihu.com/question/19894869
堆栈溢出的产生是由于过多的函数调用,导致调用堆栈无法容纳这些调用的返回地址,一般有无限递归产生,但也可能仅仅是过多的堆栈层级
递归不是无限循环,而是执行A,必须先执行B,执行B,又必须要先执行A,如此反复,就容易堆栈溢出.
递归:程序调用自身的编程技巧称为递归( recursion)
http://json-taglib.sourceforge.net/
2.如果我们不使用jsontaglib后端怎么向前端怎么传json数据
如果在控制器方法上标注@RequestBody这个注解,那么方法返回的对象不会经过视图解析器的渲染,而是根据http request header 的accept字段的内容,转换为指定的格式,写入到Response对象的body数据区中,如果没有额外的配置,那么就会返回json格式的数据.
<artifactId>json-taglib</artifactId>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
jsontaglib主要有三个标签,json:object :表示json数据对象
对象中可以有数组,数组中有对象,这样我们就可以利用这三个标签相互嵌套
++我们写代码的时候尤其是控制器的代码,为了缩短单个控制器的代码量,方便阅读,要尽量将与逻辑无关的代码抽取出(如:catch异常,转换json格式),如果json格式比较复杂的话,要在控制器的代码里面写大段的json格式的代码.
*假如json格式一样,不用jsontaglib的话,那么每个接口要复制粘贴一段.
*假如json格式不一样的话,我要修改每一个相同json格式的接口,很麻烦.假如使用jsontaglib的话,我们可以直接在jsp文件里想怎么改怎么改
脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。
常见的脚本语言:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等。
收获:学习脚本,try...catch..jsontaglib
评论