java与javascript对cookie操作的工具类
Java对cookie的操作
package cn.utils; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 操作cookie的工具类(默认cookie的有效路径为"/") * @author zwq * @version 1.0 */ public class CookieUtil { /** * 设置cookie * @param response @see javax.servlet.http.HttpServletResponse * @param name cookie名 * @param value cookie值 * @param maxAge cookie的最大活跃时间(单位s) */ public static void setCookie(HttpServletResponse response,String name,String value,int maxAge){ Cookie cookie = new Cookie(name,value); cookie.setPath("/"); if(maxAge>0) cookie.setMaxAge(maxAge); response.addCookie(cookie); } /** * 根据cookie名获取cookie * @param request @see javax.servlet.http.HttpServletRequest * @param name cookie名 * @return */ public static Cookie getCookieByName(HttpServletRequest request,String name){ Map<String,Cookie> cookieMap = getCookieMap(request); if(cookieMap.containsKey(name)){ Cookie cookie = (Cookie)cookieMap.get(name); return cookie; }else{ return null; } } /** * 获取cookie的map集合(key=cookieName,value=cookie) * @param request @see javax.servlet.http.HttpServletRequest * @return */ private static Map<String,Cookie> getCookieMap(HttpServletRequest request){ Map<String,Cookie> cookieMap = new HashMap<String,Cookie>(); Cookie[] cookies = request.getCookies(); if(null!=cookies){ for(Cookie cookie : cookies){ cookieMap.put(cookie.getName(), cookie); } } return cookieMap; } /** * 根据指定cookie名检测cookie是否存在 * @param request @see javax.servlet.http.HttpServletRequest * @param name cookie名 * @return */ public static boolean checkCookieByName(HttpServletRequest request,String name) { if (name != null && name.trim() != "") { Cookie cookie = getCookieByName(request, name); if (cookie != null) { return true; } } return false; } /** * 根据指定cookie名删除cookie * @param request @see javax.servlet.http.HttpServletRequest * @param response @see javax.servlet.http.HttpServletResponse * @param name cookie名 */ public static boolean removeCookie(HttpServletRequest request ,HttpServletResponse response,String name) { if (name != null && name.trim() != "") { Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { for (Cookie cookie : cookies) { String cookieName = cookie.getName(); // 找到需要删除的Cookie if (name.equals(cookieName)) { // 设置生存期为0 cookie.setMaxAge(0); // 设回Response中生效 response.addCookie(cookie); return true; } } } } return false; } } |
Javascript对cookie的操作
/** * @description 操作cookie的工具类 * @author zwq * @version 1.0 */ /** * @description 设置cookie * @param {string} cookieName cookie名 * @param {string} cookieValue cookie值 * @param {Date} [cookieExpires] cookie过期时间(可选参数,默认当前会话) * @param {string} [cookiePath] cookie有效路径(可选参数,默认"/") */ function setCookie(cookieName, cookieValue, cookieExpires, cookiePath) { if (typeof cookieName === "string" && typeof cookieValue == "string" && cookieName.trim() !== "") { var cookieStr = cookieName + "=" + cookieValue; if (typeof cookieExpires === "object") { cookieStr += ";expires=" + cookieExpires.toUTCString(); } if (typeof cookiePath === "string" && cookiePath.trim() !== "") { cookieStr += ";path=" + cookiePath; } document.cookie = cookieStr; } } /** * @description 根据cookie名获取cookie值 * @param {string} cookieName cookie名 * @returns {string} */ function getCookie(cookieName) { if (typeof cookieName === "string" && cookieName.trim() !== "") { if (document.cookie.length > 0) { var cookieArr = document.cookie.split(";"); for (var i = 0; i < cookieArr.length; i++) { var cookie = cookieArr[i].trim(); if (cookie.indexOf(cookieName) === 0) { return cookie.substring(cookieName.length + 1, cookie.length); } } } } return ""; } /** * @description 根据指定cookie名检测cookie是否存在 * @param {string} cookieName cookie名 * @returns {boolean} */ function checkCookie(cookieName) { if (typeof cookieName === "string" && cookieName.trim() !== ""){ var cookieValue = getCookie(cookieName); if (cookieValue !== "" && cookieValue !== null && cookieValue !== undefined){ return true; } } return false; } /** * @description 根据指定cookie名删除cookie * @param {string} cookieName cookie名 * @returns {boolean} */ function deleteCookie(cookieName) { if (typeof cookieName === "string" && cookieName.trim() !== ""){ var cookieValue = getCookie(cookieName); if (cookieValue !== "" && cookieValue !== null && cookieValue !== undefined){ var date = new Date(); document.cookie = cookieName + "=;expires=" + date.toUTCString(); return true; } } return false; } |
java与javascript对cookie操作的工具类的更多相关文章
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- java中文件操作的工具类
代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- 自己封装的poi操作Excel工具类
自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...
- Java基础知识强化62:Arrays工具类之概述和使用
1. Arrays工具类: Arrays这个类包含操作数组(比如排序和查找)的各种方法. 2. Arrays的方法: (1)toString方法:把数组转成字符串 public static Stri ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- Java语言Lang包下常用的工具类介绍_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ...
- Redis操作Hash工具类封装,Redis工具类封装
Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...
随机推荐
- 易观OLAP算法大赛结果揭晓,开源组黑马放大招!
100+天激烈赛程,40+国内顶级技术豪门对决,历经研发内部测试.正式环境测试和易观数据正式环境跑benchmark三大阶段.10月28日,易观OLAP算法大赛优胜名单出炉! 40+技术门派比武 易观 ...
- php生成唯一识别码uuid
/*生成唯一标志*标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx(8-4-4-4-12)*/ function uuid() { $chars = md ...
- IOS Html富文本渲染方式:DTCoreText、WKWebView、UIWebView的内存占用对比
在app的内容页(详情页)中,富文本的显示一直是经常需要处理的问题,而通常在后端的富文本编辑中,Html应用比较普遍,所以其实需要处理的Html富文本显示的问题,以下这三种方式肯定不是最优的显示Htm ...
- php ob缓存
用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出 ...
- parted分区流程操作
parted不同于fdisk(<2T)它比fdiskf更加灵活,fdisk需保持后才能生效,而parted是分区后直接生效! 磁盘分区步骤: 1.parted /dev/sdb #进入磁盘分区 ...
- FreeBSD的VIM基本配置
实现的基本功能 中文解决乱码问题 鼠标右键原样粘贴 最后一次编辑文件后,鼠标位置的记忆 if v:lang =~ "utf8$" || v:lang =~ "UTF-8$ ...
- RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第三篇【实例】
http://blog.csdn.net/deadgrape/article/details/50579565 在这一篇里我先让大家看一下RF+APPIUM这个框架的实际运行时什么样子的,给大家一个直 ...
- (0)前言【从零开始学Spring Boot】
在此对整体技术简单说明下. 开发工具和开发环境: Win7 64位操作 Eclipse-jee-mars-2-win32-x86_64 Jdk 1.8 Maven管理项目 如果要学习Spring Bo ...
- 全球级的分布式数据库 Google Spanner原理
开发四年只会写业务代码,分布式高并发都不会还做程序员?->>> Google Spanner简介 Spanner 是Google的全球级的分布式数据库 (Globally-Di ...
- 洛谷——P2440 木材加工
https://www.luogu.org/problem/show?pid=2440#sub 题目背景 要保护环境 题目描述 题目描述: 木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木 ...