zoukankan      html  css  js  c++  java
  • JAVAWEB使用保存cookie、删除cookie、获取cookie工具类

    package com.test;
    
    import org.apache.commons.lang.StringUtils;
    import org.springframework.util.Assert;
    
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Cookie 辅助类
     */
    public class CookieUtils {
    
    
        /**
         * 根据cookie名称获得cookie
         * @param request
         * @param name  cookie的名称
         * @return
         */
        public static Cookie getCookie(HttpServletRequest request, String name) {
            Assert.notNull(request);
            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 cookie名称
         * @param value  cookie的值
         * @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 cookie名称
         * @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);
        }
    }
  • 相关阅读:
    前端方便面
    在页面未加载完之前显示loading动画
    块级格式化上下文(BFC)
    css预编译--sass进阶篇
    IPhoneX网页布局简介
    kotlin回调函数作为参数block: T.() -> Unit和block: () -> Unit的区别
    flutter显示参数提示的快捷键
    LinuxC线程pthread线程同步进程同步-互斥量、信号量、条件变量、读写锁、文件锁
    flutter实现页面跳转的两种路由
    android开发FontMetrics的理解
  • 原文地址:https://www.cnblogs.com/pxblog/p/13354889.html
Copyright © 2011-2022 走看看