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语句输出该变量、表达式、方法的值

你可能感兴趣的:(jsp,servlet,print,write)