码迷,mamicode.com
首页 > 其他好文 > 详细

write()和print()还有<%= %>的细微区别

时间:2015-11-23 21:51:17      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

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中都是抑制io exception异常的,不会有io exception异常。

3、关于输出表达式<%= %>

  (1)、这个也是关于输出的,而这个表达式的输出相比较于以上两种来看,唯一的优点就是能把代码分理的比较清晰,但是写起来是比较麻烦的。

write()和print()还有<%= %>的细微区别

标签:

原文地址:http://www.cnblogs.com/wgbs25673578/p/4989600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!