博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
response.getWriter().write()与out.print()的区别(转)
阅读量:5122 次
发布时间:2019-06-13

本文共 852 字,大约阅读时间需要 2 分钟。

1、首先介绍write()和print()方法的区别:

(1)、write():仅支持输出字符类型数据,字符、字符数组、字符串等

(2)、print():可以将各种类型(包括Object)的数据通过默认编码转换成bytes字节形式,这些字节都通过write(int c)方法被输出

2、介绍response.getWriter()和out的区别:

(1)、out和response.getWriter的类不一样,一个是JspWriter,另一个是java.io.PrintWriter。

(2)、执行原理不同:JspWriter相当于一个带缓存功能的printWriter,它不是直接将数据输出到页面,而是将数据刷新到response的缓冲区后再输出,response.getWriter直接输出数据(response.print()),所以(out.print)只能在其后输出。

(3)、out为jsp的内置对象,刷新jsp页面,自动初始化获得out对象,所以使用out对象是需要刷新页面的。而response.getWriter()响应信息通过out对象输出到网页上,当响应结束时它自动被关闭,与jsp页面无关,无需刷新页面, 形象的比喻:当我们调用response.getWriter()这个对象同时获得了网页的画笔,这时你就可以通过这个画笔在网页上画任何你想要显示的东西。

(4)、out的print()方法和println()方法在缓冲区溢出并且没有自动刷新时候会产生ioexception,

而response.getWrite()方法的print和println中都是抑制ioexception异常的,不会有ioexception out.println(""); 方法并不能也页面布局换行,只能领html代码换行,要实现页面布局换行可以:out.println("</br>");

转载于:https://www.cnblogs.com/zhuxiaolin/p/4989918.html

你可能感兴趣的文章
Quart2D setNeedsDisplay
查看>>
设计模式之策略设计模式
查看>>
Sql server 从一个表中获取数据更新到另一个表中
查看>>
JS继承的实现方式 原型 原型链 prototype和_proto_的区别
查看>>
[bzoj3622] 已经没有什么好害怕的了
查看>>
Objective-c 中 nil, Nil, NULL和NSNull的区别
查看>>
解决Ubuntu编译内核uImage出现问题“mkimage” command not found - U-Boot
查看>>
NOIP2018退役记
查看>>
Oracle 11g Release 1 (11.1) SQL_层级查询(概)
查看>>
被查封7周之后,全球最大BT网站“海盗湾”又重新活过来了【36kr】
查看>>
partition by的用法
查看>>
消息传递
查看>>
第三次作业-功能测试
查看>>
(C++)浅谈using namespace std
查看>>
Http协议与生命周期
查看>>
Filter过滤器
查看>>
HTML5新标签在低版本浏览器中兼容性Checklist (hacks and issues)
查看>>
Laravel框架使用的一些注意细节(一)
查看>>
android-------非常好的图片加载框架和缓存库(Picasso)
查看>>
一次Redis 的性能测试和问题 [问题已经自己解决,见文章最后]
查看>>