先说结论:
当jsp页面中所有代码执行完毕以后,会执行两个操作
1.执行out.flush()操作,会把out缓冲区的数据追加到response的缓冲区末尾
2.会执行response的刷新缓冲区操作,将全部数据传给客户端
看代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
j
<%
//使用响应对象的输出流输出和out输出的区别
response.getWriter().write("response.getWriter 1
");
response.getWriter().write("response.getWriter 1
");
out.write("out.write 1
");
out.write("out.write 2
");
%>
打开服务器
得到
response.getWriter 1
response.getWriter 1
out.write 1
out.write 2
我们再修改一下顺序
out.write("out.write 1
");
response.getWriter().write("response.getWriter 1
");
out.flush();//刷新缓冲区
response.getWriter().write("response.getWriter 2
");
out.write("out.write 2
");
按当前顺序来说,out.write 1应该在第一个,但是实际上在第二个



