代码示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>输出</title>
</head>
<body>
<%
out.println(" 你好!");
PrintWriter out1 = response.getWriter();
out.write("你好?");
%>
</body>
</html>
输出结果:
你好? 你好!
可以看到write先输出,然后才是out
原因如下:
out是隐式对象,使用时会先将数据写入到JSPWrite的缓存区当中,只有调用到getWriter()方法时,才会将数据从缓存区中取出,进入到Servlet的缓存区中
write时直接调用getwrite方法,servlet缓存区是按照顺序输出的,write的数据先进入到缓存区
r如果想先输出out里的数据,可以通过改变缓存区的大小,如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" buffer="none"%>
只需要将buffer改为零即可
输出结果:
你好! 你好?