getOutputStream与getWriter方法
•
getOutputStream
方法用于返回
Servlet
引擎创建的字节输出流对象,
Servlet
程序可以按字节形式输出响应正文。
•
getWriter
方法用于返回
Servlet
引擎创建的字符输出流对象,
Servlet
程序可以按字符形式输出响应正文。
•
getOutputStream
和
getWriter
这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。
•
getOutputStream
方法返回的字节输出流对象的类型为
ServletOutputStream
,它可以直接输出字节数组中的二进制数据。
•
getWriter
方法将
Servlet
引擎的数据缓冲区包装成
PrintWriter
类型的字符输出流对象后返回,
PrintWriter
对象可以直接输出字符文本内容。
•
Servlet
程序向
ServletOutputStream
或
PrintWriter
对象中写入的数据将被
Servlet
引擎获取,
Servlet
引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。
•
Serlvet
的
service
方法结束后,
Servlet
引擎将检查
getWriter
或
getOutputStream
方法返回的输出流对象是否已经调用过
close
方法,如果没有,
Servlet
引擎将调用
close
方法关闭该输出流对象。