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