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

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

时间: 2024-11-09 01:34:41

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

echo print() print_r() var_dump()的区别

常见的输出语句 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false. print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头.但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n".因此

PHP输出函数print, printf, sprintf的区别

PHP中常用的字符串输出方式是:使用echo和print两种方法来显示字符串.如果涉及格式化输出操作,还可以试用printf和sprintf函数. 一.先说echo和print两种方法 print的语法格式为:int print ( string $arg   ) echo的语法格式为:void echo ( string $arg1   [, string $...  ] ) echo都是一种类似于函数的输出方式而非函数,没有返回值,且支持多参数: print是输出函数,其返回值为int类型的

C与C++的细微区别——省略形式参数名

转自:http://www.cppblog.com/ownwaterloo/archive/2009/04/26/omit_parameter_name.html 一.C与C++的细微区别 在函数声明中:无论是C还是在C++,都可以省略形式参数名.但是,通常都不建议省略形式参数名. 在函数定义中:1. 当需要使用形式参数的时候,显然,必须给形式参数命名. 2. 当不需要使用形式参数的时候,C与C++有微小差异:—— C不能省略形式参数名, 即使不使用.—— C++可以省略形式参数名,如果不使用.

PHP中输出 echo print print_r var_dump的区别与比较

PHP中输出 echo  print print_r  var_dump的区别与比较 echo->是输出语句,不是函数,没有返回值,可输出多个变量值,多个值之间用逗号分隔,不需要圆括号,但不能输出数组和对象,只能打印简单类型: print->是输出语句,不是函数,有返回值1,只能输出一个变量,,不需要圆括号,也不能输出数组和对象,只能打印简单类型: print_r->是函数,可以打印简单类型和复合类型的数据,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以A

php的echo(),print(),print_r()的区别

echo() 和 print() 都属于语言结构(http://my.oschina.net/banbo/blog/295580),可不带括号:echo $a;  print $a; (1) echo 可以一次输出多个值,多个值直接用逗号分隔,如:echo $a,$b; 没有返回值,支持表达式:echo $a + 1,$b + 2;. (2) print 不可以一次输出多个值,print $a; 有 int 返回值,打印正确返回 1, 打印失败返回 0,支持表达式:print $a + 1.ec

PHP基础 echo、print、print_rvar_dump的区别比较

PHP基础教程:(基础篇)echo.print.print_r.printf.sprintf.var_dump的区别比较 一.echo echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不返回值,所以不能使用它来赋值. 例子: 二.print print() 和 echo() 用法一样,但是echo速度会比print快一点点.实际上它也不是一个函数,因此您无需对

python 中sys.stdout.write 和 print &gt;&gt; sys.stdout的区别

print >> sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%" 看下面的代码的英文注释,是print的默认帮助信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # coding=utf-8 import sys, os list1Display = ['1', '2', '3'] list2Display = ['abc', 'def', 'rfs'] while list2Displ

关于print和echo的区别

我的想法是print是函数,echo是语句.有一个点很难去说明就是为什么可以执行print 666.可以这样不加括号,象print(666);至于为什么一定要认为print是函数,而非网上说的语句和函数.可以尝试自己按照下面的代码逐条验证,注意有些语法都通不过,更加证明函数和语句的区别. <?php var_dump(echo ('testinfo')); var_dump(echo 'testinfo'); var_dump(echo 'testinfo';); var_dump(echo (

输出echo print print_r() var_dump()的区别

echo: 语言结构,echo或echo()均可:能够输出一个以上字符串.可以接受多个参数:当是一次输出多个值,多个值之间用逗号分隔.没有返回值. print: 语言结构(有的地方也说是函数,但不是实际函数,故一般不需要对其使用()),print或print()均可:只能输出一个字符串,只能接受一个参数:并始终返回1.只能打印出简单类型变量的值(如 int,string),不能输出数组和对象. 提示:echo 比 print 稍快,因为它不返回任何值. print_r(): 是函数,有返回值.