- Java Web從入門到精通(第2版)
- 明日科技
- 802字
- 2020-11-28 17:38:26
6.6 out對象
視頻講解:光盤\TM\lx\6\06 out對象.mp4
out對象用于在Web瀏覽器內輸出信息,并且管理應用服務器上的輸出緩沖區。在使用out對象輸出數據時,可以對數據緩沖區進行操作,及時清除緩沖區中的殘余數據,為其他的輸出讓出緩沖空間。待數據輸出完畢后,要及時關閉輸出流。
6.6.1 向客戶端輸出數據
out對象一個最基本的應用就是向客戶端瀏覽器輸出信息。out對象可以輸出各種數據類型的數據,在輸出非字符串類型的數據時,會自動轉換為字符串進行輸出。out對象提供了print()和println()兩種向頁面中輸出信息的方法,下面分別進行介紹。
print()方法
print()方法用于向客戶端瀏覽器輸出信息。通過該方法向客戶端瀏覽器輸出信息與使用JSP表達式輸出信息相同。
【例6.22】通過兩種方式實現向客戶端瀏覽器輸出文字“明日科技”。代碼如下:
<% out.print("明日科技"); %> <%="明日科技" %>
println()方法
println()方法也是用于向客戶端瀏覽器輸出信息,與print()方法不同的是,該方法在輸出內容后,還輸出一個換行符。
【例6.23】通過println()方法向頁面中輸出數字3.14159的代碼如下:
<% out.println(3.14159); out.println("無語"); %>
說明
在使用print()方法和println()方法在頁面中輸出信息時,并不能很好地區分出兩者的區別,因為在使用println()方法向頁面中輸出的換行符顯示在頁面中時,并不能看到其后面的文字真的換行了,例如上面的兩行代碼在運行后,將顯示如圖6.11所示的效果。如果想讓其分行顯示,需要將要輸出的文本使用HTML的<pre>標記括起來。修改后的代碼如下:
<pre> <% out.println(3.14159); out.println("無語"); %> </pre>
這段代碼在運行后將顯示如圖6.12所示的結果。

圖6.11 未使用<pre>標記的運行結果

圖6.12 使用<pre>標記的運行結果
6.6.2 管理響應緩沖
out對象的另一個比較重要的功能就是對緩沖區進行管理。通過調用out對象的clear()方法可以清除緩沖區的內容。這類似于重置響應流,以便重新開始操作。如果響應已經提交,則會有產生IOException異常的負作用。out對象還提供了另一種清除緩沖區內容的方法,那就是clearBuffer()方法,通過該方法可以清除緩沖區的“當前”內容,而且即使內容已經提交給客戶端,也能夠訪問該方法。除了這兩個方法外,out對象還提供了其他用于管理緩沖區的方法。out對象用于管理緩沖區的方法如表6.3所示。
表6.3 管理緩沖區的方法
