服務器處理請求的流程:
服務器每次收到請求時,都會爲這個請求開闢一個新的線程
服務器會把服務器的請求數據封裝到request對象中,request就是請求數據的載體
服務器還會創建response對象,這個對象與客戶端連接在一起,它可以用來向客戶端發送響應
response
其類型爲HttpServletResponse–>與http協議相關的類型
ServletResponse–>與協議無關的類型
http狀態碼:
1打頭代表還沒完事
2打頭代表成功
3打頭代表中轉,302重定向
4打頭代表客戶端錯誤,404找不到資源
5打頭代表服務器錯誤
sendError(int sc) 發送錯誤狀態碼,例如404,500
sendError(int sc,String msg) 附帶一個錯誤信息
sendStatus(int sc) 發送成功的狀態碼,也可以用來發送302(Servlet的doGet函數中使用)
響應頭:
響應體
通常是HTML,也可以是圖片
response的兩個流
重定向
設置302,設置Location!其中變化的只有後者,所以java提供了一個快捷方法,完成重定向
sendRedirect(String location方法
請求request URI由項目名+Servlet路徑
request
封裝了客戶端所有的請求數據
請求行
請求頭
空行
請求提(GET沒體)
獲取請求參數
案例
doPost
請求轉發和請求包含
request域
請求轉發和重定向的區別
編碼
請求編碼
請求編碼練習
URL編碼