servlet中write方法和print方法區別

2021-10-02 11:21:22 字數 607 閱讀 3651

在一次用servlet製作網頁的過程中,在網頁輸出從資料庫查詢到的內容時用了write方法來輸出資料庫返回的int型別的值,結果網頁輸出了乙個空白方框,不顯示任何有效字元==,後面又嘗試了一下print方法竟然可以正常顯示。於是我就想通過搜尋引擎查詢一下原因,都說是因為使用write沒有換行,於是我試了一下在輸出的int型別後面拼接上/n,發現果然可以輸出了,後面我又試了一下拼接

,發現還是可以輸出,並且網頁內也換行了。

​ 但我感覺事情並沒有那麼簡單0.0,於是就去看了一下原始碼,發現print方法和write方法唯一的區別就是print方法會把輸出的東西先轉換成字串型別(後面還是會呼叫write方法)。我猜測網頁無法正常顯示或許是因為我輸出的是int型別的字元,而網頁只能顯示字串型別的字元。為了測試我猜測的正確性,我將輸出的int型別後面隨意拼接了一些字串(例如:+「123」),這時write方法輸出就也能正常顯示了。

​ 我們都知道,不同型別拼接到一起時整體會變成更大的型別,也就是小型別+大型別最後會自動轉換成大型別。所以很明顯如果我們通過write方法向網頁輸出不是字串或者char型別的資料時,網頁就會無法正常顯示。後面在寫servlet程式用write方法時一定要注意了,網頁可能會無法正常顯示哦(^_−)☆

put 方法和write 方法

ostream類提供了put 方法和write 方法,前者用於顯示字元,後者用於顯示字串。put 原型 ostream put char 當前標準與此相同,但被模板化以適應wchar t,返回乙個指向呼叫物件的引用,所以可拼接輸出 include includeusing namespace std...

Servlet介面中的方法

init servletconfig config 何時執行 servlet物件建立的時候執行 servletconfig 代表的是該servlet物件的配置資訊 service servletrequest request,servletresponse response 何時執行 每次請求都會執...

IO流中write方法寫入檔案中的資料如何換行?

io流彙總內容可能不多,但是細節性的東西非常多,一大意就會搞錯。例1 將位元組資料寫入fileoutputstream並實現換行功能 例2 將位元組資料寫入fileoutputstream並實現換行功能 例3 將字元資料寫入filewriter並實現換行功能 對於windows平台的換行符為 r n...