[转]response.getWriter().write()与out.print()的区别
原文地址:http://blog.csdn.net/javaloveiphone/article/details/8133772
1、首先介紹write()和print()方法的區(qū)別:
??(1)、write():僅支持輸出字符類型數(shù)據(jù),字符、字符數(shù)組、字符串等
??(2)、print():可以將各種類型(包括Object)的數(shù)據(jù)通過默認編碼轉(zhuǎn)換成bytes字節(jié)形式,這些字節(jié)都通過write(int c)方法被輸出
?2、介紹response.getWriter()和out的區(qū)別:
??(1)、out和response.getWriter的類不一樣,一個是JspWriter,另一個是java.io.PrintWriter。
??(2)、執(zhí)行原理不同:JspWriter相當(dāng)于一個帶緩存功能的printWriter,它不是直接將數(shù)據(jù)輸出到頁面,而是將數(shù)據(jù)刷新到response的緩沖區(qū)后再輸出,
????? response.getWriter直接輸出數(shù)據(jù)(response.print()),所以(out.print)只能在其后輸出。
??(3)、out為jsp的內(nèi)置對象,刷新jsp頁面,自動初始化獲得out對象,所以使用out對象是需要刷新頁面的,
?????? 而response.getWriter()響應(yīng)信息通過out對象輸出到網(wǎng)頁上,當(dāng)響應(yīng)結(jié)束時它自動被關(guān)閉,與jsp頁面無關(guān),無需刷新頁面
?????? 形象的比喻:當(dāng)我們調(diào)用response.getWriter()這個對象同時獲得了網(wǎng)頁的畫筆,這時你就可以通過這個畫筆在網(wǎng)頁上畫任何你想要顯示的東西。
??(4)、out的print()方法和println()方法在緩沖區(qū)溢出并且沒有自動刷新時候會產(chǎn)生ioexception,
?????? 而response.getWrite()方法的print和println中都是抑制ioexception異常的,不會有ioexception
??
?? out.println(""); 方法并不能也頁面布局換行,只能領(lǐng)html代碼換行,要實現(xiàn)頁面布局換行可以:out.println("</br>");
轉(zhuǎn)載于:https://www.cnblogs.com/dirgo/p/4989994.html
總結(jié)
以上是生活随笔為你收集整理的[转]response.getWriter().write()与out.print()的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UI复习
- 下一篇: 推送:腾迅信鸽 VS Bmob