为了账号安全,请及时绑定邮箱和手机立即绑定

关于PrintWrite 的问题

既然有内置对象out了,那PrintWrite是否有点多余?感觉PrintWrite并没有相比于out优越的地方。

正在回答

2 回答

这跟jsp的输出原理有关,JspWriter相当于一个带缓存功能的printwriter,它不是直接将数据输出到页面,而是将数据刷新到 response的缓冲区后再输出。

response.getWriter()和out的区别:
  (1)、out是JspWriter类,response.getWriter是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>");

0 回复 有任何疑惑可以回复我~

可能有时需要输出提前于内置对象的输出时用吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JAVA遇见HTML——JSP篇
  • 参与学习       248282    人
  • 解答问题       3071    个

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

进入课程

关于PrintWrite 的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信