HttpServlet的response的详解

来源:互联网 发布:windows强制全屏按键 编辑:程序博客网 时间:2024/06/07 00:24
httpServletReponse的再说明


getWriter(),getOutputStream();
他们都可以返回数据
区别:getWriter(),用于向客户回送字符数据,getOutputStream不仅可以回送字符数据,还可以二进制数据,如文件
OutputStream os=response.getOutputStream();
os.write("hello".getBytes());


如果是回送字符数据,则使用PrintWriter对象,效率高
如果是回送字节数据,则只能使用OutputStream
注意这两个流不能同时使用

OutputStream os=response.getOutputStream();
os.write("hello".getBytes());
PrintWriter out=response.getWriter()'
out.println("abc");
就会报错
原因:当发现os.write("hello.."),就会把hello信息封装到response对象,返回给web服务。
1.把response的信息,拆解,成http响应信息,返回给浏览器
2.web服务器就会去检测response相关的流是否关闭,如果没有,则关闭。导致第二个返回时,流已经关闭,不能返回
web服务器,会自动关闭未关闭的流




0 0
原创粉丝点击