out.print和out.write的區別

  在simple_jsp類的_jspService方法中,既用到了out.write語句,又用到了out.print語句進行輸出,它們有什麼區別呢?在_jspService方法中查看out對象的定義,可以看到out對象的類型爲JspWriter.在JSP API的幫助文檔的javax.servlet.jsp包中,可以找到JspWriter的幫助信息,JspWriter繼承了java.io.Writer。print方法是在子類JspWriter中定義的,writer方法是在父類Writer中定義的,重載的print方法可以將各種類型的數據轉換成字符串的形式輸出,而重載的writer系列方法中能輸出字符、字符數組和字符串等與字符相關的數據。JspWriter類型的out對象使用print方法和write方法都可以輸出字符串,但是,如果字符串對象的值爲null,print方法輸出內容爲“null”的字符串,而wirte方法則會拋出NullPointerException異常。

 
      編寫一個內容如下的test.jsp文件,分別註釋掉out.print與out.writer兩條語句中的一條,查看各自的運行結果,就可以看到這種區別了。
 
文件清單:test.jsp
 
<%String strTest = null;
 
       out.print(StrTest);
 
       out.writer(strtest);
 
%>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章