資料格式:
響應行組成:協議/版本 響應狀態碼 狀態碼描述
響應狀態碼:伺服器告訴客戶端瀏覽器本次請求和響應的乙個狀態。
狀態碼都是3位數字
分類:1xx:伺服器就收客戶端訊息,但沒有接受完成,等待一段時間後,傳送1xx多狀態碼
2xx:成功。代表:200
3xx:重定向。代表:302(重定向),304(訪問本地快取)
4xx:客戶端錯誤。
5xx:伺服器端錯誤。代表:500(伺服器內部出現異常)
響應頭:
格式(鍵值對): 頭名稱: 值
常見的響應頭:
content-type:伺服器告訴客戶端本次響應體資料格式以及編碼格式
content-disposition:伺服器告訴客戶端以什麼格式開啟響應體資料值:
響應空行
響應體: 傳輸的資料
設定響應行
格式:http/1.1 200 ok
設定狀態碼:setstatus(int sc)
設定響應頭:setheader(string name, string value)
設定響應體:
使用輸出流,將資料輸出到客戶端瀏覽器
完成重定向
重定向的特點:redirect
位址列發生變化
重定向可以訪問其他站點(伺服器)的資源
重定向是兩次請求。不能使用request物件來共享資料
**的特點:forward
**位址列路徑不變
**只能訪問當前伺服器下的資源
**是一次請求,可以使用request物件來共享資料
forward 和 redirect 區別就是重定向和**的區別
2.3.1 相對路徑
相對路徑:通過相對路徑不可以確定唯一資源
2.3.2 絕對路徑:
絕對路徑: 通過絕對路徑可以確定唯一資源
給伺服器使用:不需要加虛擬目錄
輸出資料pw.write("hello response")
驗證碼
本質:目的:防止惡意表單註冊
servletcontext:
代表整個web應用,可以和程式的容器(伺服器)來通訊
通過request物件獲取
request.getservletcontext();
通過httpservlet獲取
this.getservletcontext();
3.3.1 獲取mime型別:
獲取:string getmimetype(string file)
3.3.2 域物件:共享資料
setattribute(string name,object value)
getattribute(string name)
removeattribute(string name)
3.3.3 獲取檔案的真實(伺服器)路徑
方法:string getrealpath(string path)
string b = context.
getrealpath
("/"
)//獲取web根目錄
"d:\code\practice\servlet1\out\artifacts\responseexample_war_exploded\"
string b = context.
getrealpath
("/b.txt");
//web目錄下資源訪問 (虛擬目錄位置)
system.out.
println
(b);
"d:\code\practice\servlet1\out\artifacts\responseexample_war_exploded\b.txt"
string c = context.
getrealpath
("/web-inf/c.txt");
//web-inf目錄下的資源訪問
system.out.
println
(c);
"d:\code\practice\servlet1\out\artifacts\responseexample_war_exploded\web-inf\c.txt"
string a = context.
getrealpath
("/web-inf/classes/a.txt");
//src目錄下的資源訪問
system.out.
println
(a);
"d:\code\practice\servlet1\out\artifacts\responseexample_war_exploded\web-inf\classes\c.txt"
頁面顯示超連結
分析:使用響應頭設定資源的開啟方式:
步驟:定義servlet
獲取檔名稱
使用位元組輸入流載入檔案進記憶體
指定response的響應頭: content-disposition:attachment;filename=***
將資料寫出到response輸出流
問題:
Response 物件 基礎
response 物件 功能 設定響應行訊息 1.設定相應行 1.格式 http 1.1200 ok 2.設定狀態碼 setstatus int sc 2.設定相應頭 setheader string name,string value 3.設定響應體 使用步驟 1.獲取輸出流 字元輸出流 prin...
Response和Request物件基礎筆記
首先response物件是伺服器返回給使用者的,只要使用者向某個頁面或者伺服器提出請求或者說訪問,可以利用這個response物件返回給使用者一些資訊或者互動。因此,我們可以在page load的方法裡面加入一些 進行頁面載入時的互動。response.write response.write re...
Django基礎之response物件
與由django自動建立的httprequest物件相比,httpresponse物件是我們的職責範圍了.我們寫的每個檢視都需要例項化,填充和返回乙個httpresponse.httpresponse類位於django.http模組中.傳遞字串 response httpresponse test ...