response.getWriter().write()與out.print()的區別

1、首先介紹write()和print()方法的區別:
  (1)、write():僅支持輸出字符類型數據,字符、字符數組、字符串等
  (2)、print():可以將各種類型(包括Object)的數據通過默認編碼轉換成bytes字節形式,這些字節都通過write(int c)方法被輸出
 2、介紹response.getWriter()和out的區別:
  (1)、out和response.getWriter的類不一樣,一個是JspWriter,另一個是java.io.PrintWriter。
  (2)、執行原理不同:JspWriter相當於一個帶緩存功能的printWriter,它不是直接將數據輸出到頁面,而是將數據刷新到response的緩衝區後再輸出,
      response.getWriter直接輸出數據(response.print()),所以(out.print)只能在其後輸出。 
  (3)、out爲jsp的內置對象,刷新jsp頁面,自動初始化獲得out對象,所以使用out對象是需要刷新頁面的,
       而response.getWriter()響應信息通過out對象輸出到網頁上,當響應結束時它自動被關閉,與jsp頁面無關,無需刷新頁面
       形象的比喻:當我們調用response.getWriter()這個對象同時獲得了網頁的畫筆,這時你就可以通過這個畫筆在網頁上畫任何你想要顯示的東西。
  (4)、out的print()方法和println()方法在緩衝區溢出並且沒有自動刷新時候會產生ioexception,
       而response.getWrite()方法的print和println中都是抑制ioexception異常的,不會有ioexception 
   
   out.println(""); 方法並不能也頁面佈局換行,只能領html代碼換行,要實現頁面佈局換行可以:out.println("</br>");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章