1)首先瀏覽器向服務器發出請求。瀏覽器
2)服務器就會根據須要生成一個Cookie對象,而且把數據保存在該對象內。緩存
3)而後把該Cookie對象放在響應頭,一併發送回瀏覽器。安全
4)瀏覽器接收服務器響應後,提出該Cookie保存在瀏覽器端。服務器
5)當下一次瀏覽器再次訪問那個服務器,就會把這個Cookie放在請求頭內一併發給服務器。cookie
6)服務器從請求頭提取出該Cookie,判別裏面的數據,而後做出相應的動做。session
2.Cookie程序併發
建一個response_addCookie.jsp的文件,主要代碼爲:jsp
<% //服務端 Cookie cookie1 = new Cookie("name","mwf"); Cookie cookie2 = new Cookie("pwd","123456"); response.addCookie(cookie1); response.addCookie(cookie2); //頁面跳轉到客戶端(轉發、重定向) response.sendRedirect("result.jsp"); %>
建一個result.jsp文件,獲取獲得的Cookie值,主要代碼爲:編碼
<% //客戶端 Cookie[] cookies = request.getCookies(); for(Cookie cookie:cookies){ out.print(cookie.getName()+"--"+cookie.getValue()+"<br/>"); } %>
3.運行結果和查看網頁的Cookie值,在Natwork的respose header裏面能夠看瀏覽器的緩存,和輸出的一致。spa
5.總結:使用Cookie實現 記住用戶名 功能。
Cookie能夠提升訪問服務端的效率,可是安全性較差。而session能夠彌補這個缺點。
服務端準備Cookie:response.addCookie(Cookie cookie)頁面跳轉(轉發,重定向)
客戶端獲取cookie: request.getCookies();
要注意的地方:
服務端增長cookie :response對象;客戶端獲取對象:request對象。
不能直接獲取某一個單獨對象,只能一次性將 所有的cookie拿到。
經過F12能夠發現 除了本身設置的Cookie對象外,還有一個name爲 JSESSIONID的cookie。
建議 cookie只保存 英文數字,不然須要進行編碼、解碼。