中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java實(shí)現(xiàn)對(duì)cookie的操作(增刪改查)

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

基于springMVC框架下寫(xiě)的    

/**
		 * 讀取所有cookie
		 * 注意二、從客戶端讀取Cookie時(shí),包括maxAge在內(nèi)的其他屬性都是不可讀的,也不會(huì)被提交。瀏覽器提交Cookie時(shí)只會(huì)提交name與value屬性。maxAge屬性只被瀏覽器用來(lái)判斷Cookie是否過(guò)期
		 * @param request
		 * @param response
		 */
		@RequestMapping("/showCookies")
		public void showCookies(HttpServletRequest request,HttpServletResponse response ){
			
			Cookie[] cookies = request.getCookies();//這樣便可以獲取一個(gè)cookie數(shù)組
			if (null==cookies) {
				System.out.println("沒(méi)有cookie=========");
			} else {
				for(Cookie cookie : cookies){
				    System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue());
				}
			}
			
		}
		/**
		 * 添加cookie
		 * @param response
		 * @param name
		 * @param value
		 */
		@RequestMapping("/addCookie")
		public void addCookie(HttpServletResponse response,String name,String value){
			Cookie cookie = new Cookie(name.trim(), value.trim());
			cookie.setMaxAge(30 * 60);// 設(shè)置為30min
			cookie.setPath("/");
			System.out.println("已添加===============");
			response.addCookie(cookie);
		}
		/**
		 * 修改cookie
		 * @param request
		 * @param response
		 * @param name
		 * @param value
		 * 注意一、修改、刪除Cookie時(shí),新建的Cookie除value、maxAge之外的所有屬性,例如name、path、domain等,都要與原Cookie完全一樣。否則,瀏覽器將視為兩個(gè)不同的Cookie不予覆蓋,導(dǎo)致修改、刪除失敗。
		 */
		@RequestMapping("/editCookie")
		public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){
			Cookie[] cookies = request.getCookies();
			if (null==cookies) {
				System.out.println("沒(méi)有cookie==============");
			} else {
				for(Cookie cookie : cookies){
					if(cookie.getName().equals(name)){
						System.out.println("原值為:"+cookie.getValue());
						cookie.setValue(value);
						cookie.setPath("/");
						cookie.setMaxAge(30 * 60);// 設(shè)置為30min
						System.out.println("被修改的cookie名字為:"+cookie.getName()+",新值為:"+cookie.getValue());
						response.addCookie(cookie);
						break;
					}
				}
			}
			
		}
		/**
		 * 刪除cookie
		 * @param request
		 * @param response
		 * @param name
		 */
		@RequestMapping("/delCookie")
		public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){
			Cookie[] cookies = request.getCookies();
			if (null==cookies) {
				System.out.println("沒(méi)有cookie==============");
			} else {
				for(Cookie cookie : cookies){
					if(cookie.getName().equals(name)){
						cookie.setValue(null);
						cookie.setMaxAge(0);// 立即銷毀cookie
						cookie.setPath("/");
						System.out.println("被刪除的cookie名字為:"+cookie.getName());
						response.addCookie(cookie);
						break;
					}
				}
			}
		}

通常開(kāi)發(fā)時(shí)先用以下的代碼將獲取的cookie進(jìn)行封裝    

/**
	 * 根據(jù)名字獲取cookie
	 * @param request
	 * @param name cookie名字
	 * @return
	 */
	public  Cookie getCookieByName(HttpServletRequest request,String name){
	    Map<String,Cookie> cookieMap = ReadCookieMap(request);
	    if(cookieMap.containsKey(name)){
	        Cookie cookie = (Cookie)cookieMap.get(name);
	        return cookie;
	    }else{
	        return null;
	    }   
	}
	 
	 
	 
	/**
	 * 將cookie封裝到Map里面
	 * @param request
	 * @return
	 */
	private  Map<String,Cookie> ReadCookieMap(HttpServletRequest request){  
	    Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
	    Cookie[] cookies = request.getCookies();
	    if(null!=cookies){
	        for(Cookie cookie : cookies){
	            cookieMap.put(cookie.getName(), cookie);
	        }
	    }
	    return cookieMap;
	}

標(biāo)簽: 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:JS實(shí)現(xiàn)簡(jiǎn)易圖片輪播效果

下一篇: java實(shí)現(xiàn)發(fā)送郵件可多個(gè)附件內(nèi)嵌圖片-commons-email使用