All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zoi7.component.web.util.CookieUtils Maven / Gradle / Ivy

There is a newer version: 2.1.0
Show newest version
package com.zoi7.component.web.util;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Cookie 辅助类
 */
public class CookieUtils {
    /**
     * 每页条数cookie名称
     */
    public static final String COOKIE_PAGE_SIZE = "_cookie_page_size";
    /**
     * 默认每页条数
     */
    public static final int DEFAULT_SIZE = 20;
    /**
     * 手机端默认每页条数
     */
    public static final int FRONT_DEFAULT_SIZE = 50;
    /**
     * 最大每页条数
     */
    public static final int MAX_SIZE = 200;

    /**
     * 获得cookie的每页条数
     * 

* 使用_cookie_page_size作为cookie name * * @param request HttpServletRequest * @return default:20 max:200 */ public static int getPageSize(HttpServletRequest request) { Cookie cookie = getCookie(request, COOKIE_PAGE_SIZE); int count = 0; if (cookie != null) { if (NumberUtils.isDigits(cookie.getValue())) { count = Integer.parseInt(cookie.getValue()); } } if (count <= 0) { count = DEFAULT_SIZE; } else if (count > MAX_SIZE) { count = MAX_SIZE; } return count; } /** * 获得cookie的每页条数 *

* 使用_cookie_page_size作为cookie name * * @param request HttpServletRequest * @return default:20 max:200 */ public static int getFrontPageSize(HttpServletRequest request) { Cookie cookie = getCookie(request, COOKIE_PAGE_SIZE); int count = 0; if (cookie != null) { if (NumberUtils.isDigits(cookie.getValue())) { count = Integer.parseInt(cookie.getValue()); } } if (count <= 0) { count = FRONT_DEFAULT_SIZE; } else if (count > MAX_SIZE) { count = MAX_SIZE; } return count; } /** * 获得cookie * * @param name cookie name * @return if exist return cookie, else return null. */ public static Cookie getCookie(HttpServletRequest request, String name) { Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { for (Cookie c : cookies) { if (c.getName().equals(name)) { return c; } } } return null; } /** * 根据部署路径,将cookie保存在根目录。 * * @param request * @param response * @param name * @param value * @param expiry * @param domain * @return */ public static Cookie addCookie(HttpServletRequest request, HttpServletResponse response, String name, String value, Integer expiry, String domain) { Cookie cookie = new Cookie(name, value); if (expiry != null) { cookie.setMaxAge(expiry); } if (StringUtils.isNotBlank(domain)) { cookie.setDomain(domain); } String ctx = request.getContextPath(); cookie.setPath(StringUtils.isBlank(ctx) ? "/" : ctx); response.addCookie(cookie); return cookie; } /** * 取消cookie * * @param request * @param response * @param name * @param domain */ public static void cancleCookie(HttpServletRequest request, HttpServletResponse response, String name, String domain) { Cookie cookie = new Cookie(name, ""); cookie.setMaxAge(0); String ctx = request.getContextPath(); cookie.setPath(StringUtils.isBlank(ctx) ? "/" : ctx); if (StringUtils.isNotBlank(domain)) { cookie.setDomain(domain); } response.addCookie(cookie); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy