PrintWriter out = response.getWriter();
JSP的out.print()等价于 servlet的resp.getWriter().print();
JSP的out.write()等价于 servlet的resp.getWriter().write();
out.write()是字节输出流的方法 out.print()是字符输出流的方法
//out.print(obj)其源码如下:
public void print(Object obj) {
write(String.valueOf(obj));
}
?
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
?
// out.write(String)源码如下:
public void write(int c){
...
writeBuffer[0] = (char) c;
...
}
//注: 1. 当整型数据转换为字符时, 其中1-32是一些特殊符号, 不会显示出来. 2. 如果传入null值, 会报错
?
可见:print做了空处理,而write打印空字符串系统将会抛出空指针异常,所以尽量使用print方式。
-
-
重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据; 因此如果参数是数字 print会正常打印字符串,而write会打印字符对应ascii码
-