Servlet 中,out.print()与out.write()的区别

out.write()是字节输出流的方法

out.print()是字符输出流的方法

一、区别

1. print方法是子类JspWriter,write是Writer类中定义的方法;

2. 重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;

3. JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。

例如: 下面的test.jsp文件:

<%
String str=null; 
out.print(str); //输出null
out.write(str); //抛出异常
%>

二、JSP中元素转译成Servlet时的规则

HTML代码:成为Servlet中的service()方法的out.write语句;

JSP表达式:在service()方法中用out.print语句输出该变量、表达式、方法的值

原文地址:https://www.cnblogs.com/modou/p/9699809.html