簡體   English   中英

理解 servlet 中的 out.println

[英]understanding out.println in servlets

在 Servlets 中, out.println如何將 html 文本寫入容器的響應對象,通常在System.out.println() ,它將文本寫入控制台??

這在概念上給我帶來了問題。

PrintStreamPrintWriter都不是在控制台方面指定的。

PrintStream 向另一個輸出流添加功能,即方便地打印各種數據值的表示的能力。 打印流

將對象的格式化表示打印到文本輸出流。 印刷機

它們都是關於格式化數據並將格式化數據傳遞到輸出流。 任何輸出流。 默認情況下,在某些環境中,最初由System.outSystem.err引用的PrintStream對象將它們的數據發送到某種控制台,但這只是那些特定實例。

甚至這些都可以改變。 例如,在某些類型的測試中用PrintStream替換System.out可能很有用,該PrintStream將其數據發送到ByteArrayOutputStream

它使用來自 Javadoc 的ServletOutputStream

提供用於向客戶端發送二進制數據的輸出流。 通常通過ServletResponse.getOutputStream()方法檢索ServletOutputStream對象。

如果您查看System.out您會發現它是一個PrintStream ,它是OutputStream的不同實現。

如果在 servlet 中的某個地方調用out.println(...)寫入響應對象,則out必須是對響應對象的OutputStream的引用,或者包裝流和它。 如果System.out將輸出發送到其他地方(通常會這樣做),則它是對不同OutputStream的引用。

名為out的 servlet 方法(或任何其他方法的)局部變量與System.out完全無關,除非您將一個初始化為對另一個的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM