在登入介面,點選註冊,註冊成功後,把結果(使用者名稱,密碼)回傳給登入介面,用來設定控制元件
阿新 • • 發佈:2019-01-23
HTTP的狀態管理由於基於Http協議的請求是無狀態的,所以服務端無法把同一個客戶端傳送的多次請求當成一個整體來看待。但是我們有一些需求需要服務端把同一個客戶端傳送的多次請求當成一個整體。比如:登入-->購買如何實現Http的狀態管理?1>Cookie機制 (把涉及到的資料儲存在客戶端)2>Session機制(把涉及到的資料儲存在服務端)Cookie機制的執行原理:1>客戶端向服務端傳送http請求,服務端 返回給客戶端響應資料,並且在響應資料包 中攜帶cookie資訊: Set-Cookie: cishu=102>客戶端接收響應資料包,解析響應,獲取 cookie資訊,並且把cishu=10儲存在客戶端 中。3>在客戶端傳送後續請求時,需要在請求 資料包中攜帶cookie資訊: Cookie:cishu=104>服務端接收請求,並且解析請求資料包中 的cookie資訊,執行後續業務。Cookie的限制:Cookie不能儲存中文Cookie不能儲存大資料量資料Cookie不安全Session機制的實現原理:1>客戶端傳送http請求,服務端把需要 儲存的資料儲存在session物件中,並且 把JSID以Cookie的方式傳遞給客戶端: Cookie: JSESSIONID=ABCDEFG2>客戶端接收服務端響應資料包,並且把 Cookie儲存在客戶端中。3>客戶端傳送後請求時,需要在請求資料包 中以cookie的形式傳遞JSESSIONID: Cookie:JSESSIONID=ABCDEFG4>服務端接收客戶端的請求,並且獲取JSESSIONID, 通過JSESSIONID獲取以前分配的session物件 獲取儲存過的資料。實現狀態管理。EMS專案之驗證碼驗證碼的作用:防止機器人惡意攻擊伺服器。註冊業務:1>RegistActivity XML 在登入介面中點選註冊跳轉到該activity2>點選註冊按鈕,傳送http請求。3>解析響應json字串。4>成功: finish() 失敗: 提示錯誤Activity反向傳值:LoginAcitivty --> RegistActivity當RegistActivity銷燬時,回傳給LoginAcitivity一些引數。實現:1>LoginActivity: startAcitivityForResult()2>RegistAcitivty: setResult()3>LoginActivity: @Override onActivityResult(reqCode,resCode,data){ }