Java後臺 Cookie工具類

        分享下在後臺操作Cookie的常用工具類,直接貼代碼:

        

/**
	 * description:獲得或刪除指定Cookie的值
	 * @param request 請求對象
	 * @param response 響應對象
	 * @param name 名字
	 * @param isRemove 是否移除
	 * @return 值
	 */
	public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name, boolean isRemove) {
		String value = null;
		Cookie[] cookies = request.getCookies();//獲取Cookie數組
		if (cookies != null) {
			for (Cookie cookie : cookies) { //循環
				if (cookie.getName().equals(name)) { //根據name獲取
					try {
						value = URLDecoder.decode(cookie.getValue(), "utf-8"); //解碼
					} catch (UnsupportedEncodingException e) {
						e.printStackTrace();
					}
					if (isRemove) { //是否刪除
						cookie.setMaxAge(0);
						response.addCookie(cookie);
					}
				}
			}
		}
		return value;
	}


/**
	 * description:設置 Cookie
	 * @param name 名稱
	 * @param value 值
	 * @param maxAge 生存時間(單位秒)
	 * @param uri 路徑
	 */
	public static void setCookie(HttpServletResponse response, String name, String value, String path, int maxAge) {
		Cookie cookie = new Cookie(name, null);
		cookie.setPath(path);   // 詳情參考
		cookie.setMaxAge(maxAge);
		try {
			cookie.setValue(URLEncoder.encode(value, "utf-8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		response.addCookie(cookie);
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章