用戶登錄案例需求:
1.編寫login.html登錄頁面
username & password 兩個輸入框
2.使用Druid數(shù)據(jù)庫連接池技術(shù),操作mysql,數(shù)據(jù)庫中user表
3.使用JdbcTemplate技術(shù)封裝JDBC
4.登錄成功跳轉(zhuǎn)到SuccessServlet展示:登錄成功欠橘!用戶名,歡迎您
5.登錄失敗跳轉(zhuǎn)到FailServlet展示:登錄失敗肯尺,用戶名或密碼錯
HTTP協(xié)議:
請求消息:客戶端發(fā)送給服務(wù)器端的數(shù)據(jù)
數(shù)據(jù)格式:
請求行
請求頭
請求空行
請求體
響應(yīng)消息:服務(wù)器端發(fā)送給客戶端的數(shù)據(jù)
數(shù)據(jù)格式:
響應(yīng)行
組成:協(xié)議/版本 響應(yīng)狀態(tài)碼 狀態(tài)碼描述
響應(yīng)狀態(tài)碼:服務(wù)器告訴客戶端瀏覽器本次請求和響應(yīng)的一個狀態(tài)忘伞。
- 狀態(tài)碼都是3位數(shù)字
- 分類:
- 1xx:服務(wù)器就收客戶端消息奶段,但沒有接受完成,等待一段時間后伙狐,發(fā)送1xx多狀態(tài)碼
- 2xx:成功涮毫。代表:200
- 3xx:重定向。代表:302(重定向)贷屎,304(訪問緩存)
- 4xx:客戶端錯誤罢防。
- 代表:
- 404(請求路徑?jīng)]有對應(yīng)的資源)
- 405:請求方式?jīng)]有對應(yīng)的doXxx方法
- 5xx:服務(wù)器端錯誤。代表: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:默認值,在當前頁面內(nèi)打開
- attachment;filename=xxx:以附件形式打開響應(yīng)體唉侄。文件下載
- 響應(yīng)空行
- 響應(yīng)體:傳輸?shù)臄?shù)據(jù)
Response對象
功能:設(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ū)別)
重定向的特點:
1咒吐、 地址欄發(fā)生變化
2、重定向可以訪問其他站點的資源
3属划、重定向是兩次請求恬叹,不能使用request域?qū)ο髞砉蚕頂?shù)據(jù)
轉(zhuǎn)發(fā)的特點:
1、地址欄路徑不變
2同眯、轉(zhuǎn)發(fā)不能訪問其他站點的資源
3绽昼、轉(zhuǎn)發(fā)是一次請求,可以使用request域?qū)ο髞砉蚕頂?shù)據(jù)