国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

會話管理之cookie

2019-11-10 19:31:52
字體:
來源:轉載
供稿:網友

cookie保存在瀏覽器客戶端

session保存在服務器端

 Cookie的API

                   Cookie類:保存會話數據

                             1)創建Cookie對象,用于保存會話數據

                                                        new Cookie(java.lang.String name,java.lang.String value)

                            2)設置Cookie對象

                                                        void setPath(java.lang.String uri)  設置cookie有效路徑

                                                        voidsetMaxAge(int expiry)     設置cookie的有效時長

                                                        voidsetValue(java.lang.String newValue)  設置cookie的值

                            3)發送Cookie數據到瀏覽器保存

                                                        response.addCookie(cookie);

                             4)接收瀏覽器發送的Cookie數據

                                                        Cookie[] request.getCookies()

       Cookie的原理

                            1)服務器端創建Cookie數據,然后通過set-cookie的響應頭把cookie數據發送給瀏覽器保存

                                            響應頭:例如: set-cookie: name=eric

                           2)瀏覽器得到服務器發送cookie數據,保存在瀏覽器目錄中。

                           3)瀏覽器在下次訪問服務器時,會帶著cookie數據訪問服務器。通過cookie的請求頭把cookie數據發送給服務器端

                                         請求頭:例如: cookie: name=eric

                          4)服務器可以接受瀏覽器發送的cookie數據

                                          request.getCookies();      

public void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		//1,創建cookie對象,保存會話數據			//如果要發送中文,必須先使用URLEncoder進行加密				String n = URLEncoder.encode("張三","utf-8");			Cookie c = new Cookie("name", "zdh");			Cookie c1 = new Cookie("email", "11mqzdh2013@163.com");			//設置有效路徑,默認情況下,設置當前項目的根目錄下			//c.setPath("/day11");						/*設置cookie的有效時長			 *  正整數: 表示超過了正整數的數值的時間,cookie就會丟失!!(cookie保存瀏覽器的緩存																				目錄)單位:秒				負整數: 表示如果瀏覽器關閉了,cookie就會丟失!(cookie保存瀏覽器內存) (默認情況)				 0      :  表示刪除同名的cookie				 */			//c.setMaxAge(10);//10秒后cookie消失			c.setMaxAge(-1);	//關閉瀏覽器cookie消失。也是默認情況			c1.setMaxAge(50);		//2,把cookie數據發送給瀏覽器,通過響應頭攜帶cookie數據給瀏覽器(set-cookie)				//response.setHeader("set-cookie", "name=zzz");			//簡化版本			response.addCookie(c);			response.addCookie(c1);		//3,瀏覽器在下次訪問的時候攜帶了cookie數據,通過請求頭發送給服務器(cookie)		//4,瀏覽器獲取瀏覽器發送的cookie數據,//			String name = request.getHeader("cookie");//			System.out.PRintln(name);			Cookie[] cookie = request.getCookies();			if(cookie!=null){				for(Cookie ck:cookie){					String name = ck.getName();					String value = ck.getValue();					System.out.println(name+"="+value);				}			}else{                                                                                                				System.out.println("沒有cookie 信息!!");			}	}

      

需要注意:                          

  1)設置cookie有效路徑: setPath(uri) 。如果cookie在有效路徑下,那么瀏覽器在下次訪問該有效路徑時就會帶著cookie數據到服務器。

2)設置cookie的有效時長: setMaxAge(整數)

                       正整數:cookie數據保存在瀏覽器的緩存目錄中(硬盤中)。例如10。10秒之后就cookie 就會丟失。(從最后一次訪問cookie開始計算)

                       負整數: cookie數據保存在瀏覽器的內存中,瀏覽器關閉cookie數據就會丟失。

                       零:  刪除同名的cookie

       3)可以同時往瀏覽器發送多個cookie數據,必須是字符串類型的。瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個Cookie,每個Cookie的大小限制為4KB。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 满洲里市| 青川县| 金华市| 昭苏县| 肇东市| 宁河县| 新安县| 道真| 米林县| 鄄城县| 新邵县| 中牟县| 攀枝花市| 张家界市| 太白县| 南丹县| 惠来县| 乌兰浩特市| 宁夏| 建阳市| 灵丘县| 如东县| 忻城县| 贡嘎县| 洛扎县| 蓬莱市| 磐石市| 乾安县| 荔浦县| 汤原县| 绥宁县| 岳阳县| 泽普县| 色达县| 元阳县| 虞城县| 郓城县| 天长市| 积石山| 江川县| 鞍山市|