1.jsp-out和response输出的区别
jsp中代码:
out.write("out输出1 <br/>");
out.write("out输出2 <br/>");
response.getWriter().write("response输出1 <br/>");
response.getWriter().write("response输出2 <br/>");
out缓冲区
out输出1
out输出2
response缓冲区
response输出1
response输出2
在客户端呈现的结果是:
response输出1
response输出2
out输出1
out输出2
发现在jsp代码中原本在response之前的out,在客户端展示时,变成了其后面。原因是:
当jsp页面中所有代码执行完成之后,会做以下两个动作:
1、执行out.flush()操作,会把out缓冲区中的数据追加到response缓冲区末尾
2、执行response的刷新操作,把全部数据写给客户端
由于jsp翻译之后,底层源代码都是使用out来进行输出,所以一般情况下,在jsp页面中统一使用out来进行输出。避免打乱页面输出内容的顺序。
而对于out输出的方法,又有两种:
out.write():该方法对字符串输出有效
out.print():该方法对任意数据类型输出都有效
源码中,print是将其他几种数据类型都转换成字符串类型,然后调用write()输出的;而write()中,对于整型的输出,他是先转换成字符型,放入其缓冲数组中,然后再输出,此时输出的就是该数值对应的ASCII码的字符。
滴水穿石、燕子衔泥,点点滴滴都是添补

浙公网安备 33010602011771号