2 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
jsp中out.print()的作用:
out:JspWriter對(duì)象表示服務(wù)器端向客戶瀏覽器輸出的流,但是這個(gè)流會(huì)在response中進(jìn)行緩沖,并不是直接向客戶輸出。
在一個(gè)servlet中,所有的流寫入語(yǔ)句執(zhí)行完后,servlet會(huì)把這些語(yǔ)句的緩存內(nèi)容打包成http響應(yīng)返回給瀏覽器。
擴(kuò)展資料:
jsp中的其他標(biāo)簽
<c:out >用于在JSP中顯示數(shù)據(jù),就像<%= ... >
<c:set >用于保存數(shù)據(jù)
<c:remove >用于刪除數(shù)據(jù)
<c:catch>用來(lái)處理產(chǎn)生錯(cuò)誤的異常狀況,并且將錯(cuò)誤信息儲(chǔ)存起來(lái)
<c:if>與我們?cè)谝话愠绦蛑杏玫膇f一樣
<fmt:timeZone>指定時(shí)區(qū)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
out:JspWriter對(duì)象表示服務(wù)器端向客戶瀏覽器輸出的流,但是這個(gè)流會(huì)在response中進(jìn)行緩沖,并不是直接向客戶輸出。在一個(gè)servlet中,所有的流寫入語(yǔ)句執(zhí)行完后,servlet會(huì)把這些語(yǔ)句的緩存內(nèi)容打包成http響應(yīng)返回給瀏覽器。有一個(gè)現(xiàn)象不知道你注意了沒(méi)?有一個(gè)方法:setHeader(還是setHead我忘了),他是設(shè)置http響應(yīng)頭的。不管你多晚才執(zhí)行了setHeader,setHeader之前有多少個(gè)out.print,最終返回給瀏覽器的數(shù)據(jù)中setHeader的內(nèi)容肯定在out.print內(nèi)容的前面,這可以證明out的內(nèi)容會(huì)被先緩存。所以out的內(nèi)容會(huì)被先緩存在response中,最后再一次性給瀏覽器。
對(duì)于print和write。除了字符集以外。這兩個(gè)是沒(méi)有多大區(qū)別的,因?yàn)镴spWriter繼承了Writer類,而這個(gè)類就實(shí)現(xiàn)了這兩個(gè)方法。事實(shí)上System.out這個(gè)流也是一個(gè)Writer,Writer這個(gè)設(shè)計(jì)模式是一個(gè)歷史遺留,是一個(gè)不好的模式,受到很多人的批評(píng)。所以這兩個(gè)方法你不用管它。print默認(rèn)使用本身字符集。
添加回答
舉報(bào)