用戶登錄案例需求:
1.編寫login.html登錄頁面
username & password 兩個(gè)輸入框
2.使用Druid數(shù)據(jù)庫連接池技術(shù),操作mysql早芭,數(shù)據(jù)庫中user表
3.使用JdbcTemplate技術(shù)封裝JDBC
4.登錄成功跳轉(zhuǎn)到SuccessServlet展示:登錄成功!用戶名,歡迎您
5.登錄失敗跳轉(zhuǎn)到FailServlet展示:登錄失敗诅蝶,用戶名或密碼錯(cuò)
HTTP協(xié)議:
請(qǐng)求消息:客戶端發(fā)送給服務(wù)器端的數(shù)據(jù)
數(shù)據(jù)格式:
請(qǐng)求行
請(qǐng)求頭
請(qǐng)求空行
請(qǐng)求體
響應(yīng)消息:服務(wù)器端發(fā)送給客戶端的數(shù)據(jù)
數(shù)據(jù)格式:
響應(yīng)行
組成:協(xié)議/版本 響應(yīng)狀態(tài)碼 狀態(tài)碼描述
響應(yīng)狀態(tài)碼:服務(wù)器告訴客戶端瀏覽器本次請(qǐng)求和響應(yīng)的一個(gè)狀態(tài)退个。
- 狀態(tài)碼都是3位數(shù)字
- 分類:
- 1xx:服務(wù)器就收客戶端消息,但沒有接受完成调炬,等待一段時(shí)間后语盈,發(fā)送1xx多狀態(tài)碼
- 2xx:成功。代表:200
- 3xx:重定向缰泡。代表:302(重定向)刀荒,304(訪問緩存)
- 4xx:客戶端錯(cuò)誤代嗤。
- 代表:
- 404(請(qǐng)求路徑?jīng)]有對(duì)應(yīng)的資源)
- 405:請(qǐng)求方式?jīng)]有對(duì)應(yīng)的doXxx方法
- 5xx:服務(wù)器端錯(cuò)誤。代表:500(服務(wù)器內(nèi)部出現(xiàn)異常)
響應(yīng)頭: - 格式:頭名稱: 值
- 常見的響應(yīng)頭:
- Content-Type:服務(wù)器告訴客戶端本次響應(yīng)體數(shù)據(jù)格式以及編碼格式
- Content-disposition:服務(wù)器告訴客戶端以什么格式打開響應(yīng)體數(shù)據(jù)
- 值:
- in-line:默認(rèn)值,在當(dāng)前頁面內(nèi)打開
- attachment;filename=xxx:以附件形式打開響應(yīng)體缠借。文件下載
- 響應(yīng)空行
- 響應(yīng)體:傳輸?shù)臄?shù)據(jù)
Response對(duì)象
功能:設(shè)置響應(yīng)消息
設(shè)置響應(yīng)行
格式:HTTP/1.1 200 ok
設(shè)置狀態(tài)碼:setStatus(int sc)
設(shè)置響應(yīng)頭:setHeader(String name, String value)
案例:
完成重定向
重定向:資源跳轉(zhuǎn)的方式
重定向和轉(zhuǎn)發(fā)的區(qū)別( forward 和 redirect 區(qū)別)
重定向的特點(diǎn):
1干毅、 地址欄發(fā)生變化
2、重定向可以訪問其他站點(diǎn)的資源
3泼返、重定向是兩次請(qǐng)求硝逢,不能使用request域?qū)ο髞砉蚕頂?shù)據(jù)
轉(zhuǎn)發(fā)的特點(diǎn):
1、地址欄路徑不變
2绅喉、轉(zhuǎn)發(fā)不能訪問其他站點(diǎn)的資源
3渠鸽、轉(zhuǎn)發(fā)是一次請(qǐng)求,可以使用request域?qū)ο髞砉蚕頂?shù)據(jù)