out.print和out.write的区别

      在simple_jsp类的_jspService方法中,既用到了out.write语句,又用到了out.print语句进行输出,它们有什么区别呢?_jspService方法中查看out对象的定义,可以看到out对象的类型为JspWriter.JSP API的帮助文档的javax.servlet.jsp包中,可以找到JspWriter的帮助信息,JspWriter继承了java.io.Writerprint方法是在子类JspWriter中定义的,writer方法是在父类Writer中定义的,重载的print方法可以将各种类型的数据转换成字符串的形式输出,而重载的writer系列方法中能输出字符、字符数组和字符串等与字符相关的数据。JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为nullprint方法输出内容为“null”的字符串,而wirte方法则会抛出NullPointerException异常。

      编写一个内容如下的test.jsp文件,分别注释掉out.printout.writer两条语句中的一条,查看各自的运行结果,就可以看到这种区别了。

文件清单:test.jsp

<%String strTest = null;

       out.print(StrTest);

       out.writer(strtest)

%>

你可能感兴趣的:(out.print和out.write的区别)