1) jsp 中 out 和 response 的 writer 的区别演示
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% // out 输出 out.write("这是 out 的第一次输出<br/>"); // out flush 之后。会把输出的内容写入 writer 的缓冲区中 out.flush(); // 最后一次的输出,由于没有手动 flush,会在整个页面输出到客户端的时候,自动写入到 writer 缓冲区 out.write("这是 out 的第二次输出<br/>"); // writer 的输出 response.getWriter().write("这是 writer 的第一次输出<br/>"); response.getWriter().write("这是 writer 的第二次输出<br/>"); %> </body> </html>
在浏览器里输入 http://127.0.0.1:8080/day09/output.
jsp 运行查看的结果:
out flush 之后。会把输出的内容写入 writer 的缓冲区中
最后一次的输出,由于没有手动 flush,会在整个页面输出到客户端的时候,自动写入到 writer缓冲区
2) 图解 out 流和 writer 流的两个缓冲区如何工作
<% // out 输出 out.write("这是 out 的第一次输出<br/>"); // out flush 之后。会把输出的内容写入 writer 的缓冲区中 out.flush(); // 最后一次的输出,由于没有手动 flush,会在整个页面输出到客户端的时候,自动写入到 writer 缓冲区 out.write("这是 out 的第二次输出<br/>"); // writer 的输出 response.getWriter().write("这是 writer 的第一次输出<br/>"); response.getWriter().write("这是 writer 的第二次输出<br/>"); %>