1. 程式人生 > >response.getWriter().write()與out.print()的區別

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

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>");