首先大家先看下一段jsp的代码:
<body>
<%
out.write("我先输出");
response.getWriter().write("我后输出");
%>
</body>
然后,我们再来访问这一段jsp,我们预期的效果应该是 “我先输出”在前面,“我后输出”在后面,但是其实真实的效果却是。。。
其实它们的功能几乎都是一样的,但是这里为什么是这种情况呢?这是因为out是JspWriter对象,我们先往JspWriter对象中输出内容保存在JspWriter的缓冲区,接着又往response的缓冲区中输出内容。大家都知道我们往浏览器输出数据时是靠response对象来输出数据的,在浏览器展示之前JspWriter的缓冲区的内容会先写到response中,这样response中的内容肯定是先把“我后输出”写在前面,