JAVAWEB中如何使用保存cookie、删除cookie、获取cookie工具类呢?
下文笔者讲述JavaWeb中操作cookie的方法及示例分享,如下所示
使用HttpServletRequest工具类的 getCookie setCookie方法即可实现cookie的保存和删除操作例:JavaWeb实现Cookie的增删改工具类分享
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); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。