JSP | out 物件詳解
原作者為 RioTian@cnblogs, 本作品採用 CC 4.0 BY 進行許可,轉載請註明出處。
本篇學習自:C語言中文網,部分內容轉載僅供學習使用。
\[QAQ \]
out 物件是一個輸出流,用來向客戶端輸出資料,可以是各種資料型別的內容,同時,它還可以管理應用伺服器上的輸出緩衝區,緩衝區的預設值是 8KB,可以通過頁面指令 page 來改變預設大小。
換句話來說,out 物件在Web應用中就等同 Java 的 Print 方法、動態的向JSP頁面輸出字元流,從而把動態的內容轉化成HTML形式來展示,這個物件在任何JSP頁面中都可以任意訪問。
out 物件是一個繼承自抽象類 javax.servlet.jsp.JspWriter
java.io.PrintWriter
類的物件。
在使用 out 物件輸出資料時,可以對資料緩衝區進行操作,及時清除緩衝區中的殘餘資料,為其他的輸出讓出緩衝空間。資料輸出完畢後要及時關閉輸出流。下面介紹 out 物件的應用。下表列出了 out 物件常用的方法。
方法 | 說明 |
---|---|
void print(各種資料型別) | 將指定型別的資料輸出到 HTTP 流,不換行 |
void println(各種資料型別) | 將指定型別的資料輸出到 HTTP 流,並輸出一個換行符 |
void newline | 輸出換行字元 |
JSP out 物件全體方法解釋:
向客戶端輸出資料
在使用 print()
或 println()
方法向客戶端輸出時,由於客戶端是瀏覽器,因此可以使用 HTML 中的一些標記控制輸出格式。例如:
out.println("<font color=red> Hello </font>");
管理輸出緩衝區
預設情況下,服務端要輸出到客戶端的內容不直接寫到客戶端,而是先寫到一個輸出緩衝區中。使用 out 物件的 getBufferSize()
方法取得當前緩衝區的大小(單位是 KB),用 getRemaining()
方法取得當前使用後還剩餘的緩衝區的大小(單位是 KB)。
JSP 只有在下面三種情況下,才會把緩衝區的內容輸出到客戶端。
- 該 JSP 網頁已完成資訊的輸出。
- 輸出緩衝區己滿。
- JSP 中呼叫了
out.flush()
或response.flushBuffer()
。
另外,呼叫 out 物件的 clear() 方法,可以清除緩衝區的內容,類似於重置響應流,以便重新開始操作。如果響應已經提交,則會產生 IOException
異常。此外,另一種方法 clearBuffer()
可以清除緩衝區“當前”內容,而且即使內容已經提交給客戶端,也能夠訪問該方法。
【例1】用 out 物件管理輸出緩衝區,程式碼如下:
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>JSP - Hello World!</title>
</head>
<body>
<h2>out物件管理輸出緩衝區</h2>
<%
out.println("使用 out 物件管理緩衝區:<br>");
%>
<br>
緩衝大小: <%=out.getBufferSize()%><br>
剩餘快取大小: <%=out.getRemaining()%><br>
是否自動重新整理: <%=out.isAutoFlush()%><br>
</body>
</html>
The desire of his soul is the prophecy of his fate
你靈魂的慾望,是你命運的先知。