Java Web 第三天 Servlet處理響應

一、 HTTP 響應的格式

響應行: HTTP 版本、響應碼、響應描述

響應頭

空行

消息體

HTTP 默認的文本編碼爲: ISO-8895-1

二、 響應碼的設置

1.       什麼是響應碼

響應碼位於 HTTP 響應的響應行中,他用來描述當前 Servlet 的一些重要信息。常見的響應碼有 200.302 404 500

2.       如何設置響應碼

通過 setStatus() 設置狀態碼,除了 302 307 外每個狀態碼都有一個對應的常量。

特殊的幾個狀態碼設置:

        sendError(int code,String info): 用來設置 404 狀態碼

        sendRedirect(String URL): 請求重定向, 302 狀態碼

3.       響應碼的作用

響應碼可以把用戶重定向到另一個網站( 302 ),可以指示出後面附加的文檔是什麼類型,可以告訴用戶必須提供密碼等信息( 404 )。

4.       什麼是請求重定向

當外部請求到來時,相應的 Servlet 中沒有找到對應的資源的時候就會給客戶端發送一個別的服務器的 URL ,讓客戶端去連接這個資源。這種方式要求客戶端發送 2 次請求,會極大浪費資源。

三、 設置響應頭

1.       什麼是 MIME

MIME 就是表示發送到客戶端的內容的格式,我們通過設置 MIME 告訴客戶端該用什麼形式正確顯示響應的內容,比如在網頁中顯示 EXCEL 電子表格。

2.       響應頭的作用

HTTP 響應頭能夠告訴客戶端一些比較重要的信息:比如響應的內容類型,內容的長度,響應的時間等。

3.       怎麼設置響應頭

通過 setHeader String name,String value )設置響應頭。特別的比如:

setContextType(“text/html”) setHeader(“Context-type”,”text/html”) 的功能和意義是一樣的,只是後者的寫法更加簡潔。

四、 設置消息體

1.       消息體的內容

HttpServletResponse 本身返回的是一個空的 Response 對象,其內容是需要我們人爲輸入的。

2.       消息體的設置

我們一般使用 response.getWrite() 獲得字符輸出流,利用 response.getOutputStream() 獲得字節輸出流。下載一般用字節流進行傳輸,因爲圖片、音樂等的傳播都是通過字節進行傳播的。

3.       網頁自動刷新和跳轉的設置

通過 setHeader 方法實現

Response.setHeader(“Refresh”,”time”,”URL”).

4.       實現下載功能的步驟

首先建立字節輸入流和一個數組並將文件讀入到數組中

接着 response.setHeader(“Content-disposition”,”attachment;filename=”fileName) 來設置好 MIME

最後通過輸入出輸出。

發佈了110 篇原創文章 · 獲贊 3 · 訪問量 130萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章