什么是Cookie?Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制。 Cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。 Cookie的作用就是用于解决"如何记录客户端的用户信息":
Cookie实际上是一小段文本信息(上限为4kb)。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器可以把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务还可以根据需要修改Cookie的内容。 Cookie的属性
获取所有Cookiepublic static Cookie[] getCookies(HttpServletRequest request) { return request.getCookies(); } 获取cookie很简单,直接从request中获取即可。 根据名称获取指定Cookiepublic static Cookie getCookieByName(HttpServletRequest request, String name) { if (StringUtils.isBlank(name)) { return null; } Cookie[] cookies = getCookies(request); if (null != cookies) { for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { return cookie; } } } return null; } 从所有cookie中循环判断进行获取指定cookie。 添加Cookiepublic static boolean addCookie(HttpServletResponse response, String name, String value, int maxAge) { if (StringUtils.isBlank(name) || StringUtils.isBlank(value)) { return false; } Cookie cookie = new Cookie(name.trim(), value.trim()); if (maxAge <= 0) { maxAge = Integer.MAX_VALUE; } cookie.setMaxAge(maxAge); cookie.setPath("/"); response.addCookie(cookie); return true; } 这个添加很简单。 删除Cookiepublic static boolean removeCookie(HttpServletRequest request, HttpServletResponse response, String name) { if (StringUtils.isBlank(name)) { return false; } Cookie[] cookies = getCookies(request); if (null != cookies) for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { cookie.setValue(null); cookie.setMaxAge(0); cookie.setPath("/"); response.addCookie(cookie); return true; } } } return false; } 删除cookie,把 value设置为null,把 max-age设置为0就行了。 到这里:Java基础系列(基础):Java使用Cookie增删改查操作!分享完毕了,快去试试吧! 最后
|
|