1. 程式人生 > >response.getWriter()和jsp中out對象的區別

response.getWriter()和jsp中out對象的區別

內置對象 而是 getwriter int() nbsp 返回 代碼 頁面 cep

兩者的主要區別:
1.內置對象out的類型是JspWriter;
 response.getWrite()返回的類型是PrintWriter;
 out和response.getWriter的類不一樣,一個是JspWriter,另一個是java.io.PrintWriter。
2. 獲取方式不同:
  JspWriter是JSP的內置對象,直接使用即可,對象名out是保留字,也只能通過out來調用其相關方法。
  此外還可以通過內置對象pageContext.getOut();獲得;
  PrintWriter則是在用的時候需要通過內置對象response.getWriter();獲得
3.執行原理不同:
  JspWriter相當於一個帶緩存功能的printWriter,它不是直接將數據輸出到頁面,
  而是將數據刷新到response的緩沖區後再輸出,
  response.getWriter直接輸出數據(response.print()),所以(out.print)只能在其後輸出。
4. JspWriter的print()方法會拋出IOException;而PrintWriter則不會5.out為jsp的內置對象,刷新jsp頁面,自動初始化獲得out對象,所以使用out對象是需要刷新頁面的,
  而response.getWriter()響應信息通過out對象輸出到網頁上,當響應結束時它自動被關閉,與jsp頁面無關,無需刷新頁面
6.out的print()方法和println()方法在緩沖區溢出並且沒有自動刷新時候會產生ioexception,
而response.getWrite()方法的print和println中都是抑制ioexception異常的,不會有ioexception
out.println(""); 方法並不能也頁面布局換行,只能領html代碼換行,
要實現頁面布局換行可以:out.println("</br>");

response.getWriter()和jsp中out對象的區別