涉及到cookie的 setPath问题: https://blog.csdn.net/damys/article/details/49737905
cookie注解:public voic getxxx(@CookieValue(MOBILE_CLIENT) String client, Model model){......}
//获取所有document.cookie的值
document.cookie = "xxx"; //当前页面的静态路径
var cookies2 = document.cookie.split(';');//cookies
//设置cookies
function setCookie(name,value) { //写cookies
var exp = new Date(); //获取当前时间
var Days = 30; //将exp设置为n天以后的时间
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //格式化为cookie识别的时间
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString(); //设置cookie
} //得到cookies
// function getCookie(name) { // |jack;;| 次写法无法匹配英文括号!
// var arr, reg=new RegExp( "(^| )"+name+"=([^;]*)(;|$)" );
// if(arr=document.cookie.match(reg)) return arr[2];
// else return null;
// }
function getCookie(c_name) {
if(document.cookie.length > 0) {
var c_start = document.cookie.indexOf(c_name + "=");//获取字符串的起点
if(c_start != -1) {
c_start = c_start + c_name.length + 1;//获取值的起点
c_end = document.cookie.indexOf(";", c_start);//获取结尾处
if(c_end == -1) c_end = document.cookie.length;//如果是最后一个,结尾就是cookie字符串的结尾
return decodeURI(document.cookie.substring(c_start, c_end));//截取字符串返回
}
}
return "";
}
//清除所有cookie函数
function clearAllCookie() {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if(keys) {
for(var i = keys.length; i--;)
document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()
}
}
//去空格
function trimStr(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}

注:保存的cookie会自动在每个key前面插入一个空格!(cookie 存储。默认是  一个 键值就隔着一个空格的。。。。   这样的潜规则)

W3school JavaScript cookies教程:  http://www.w3school.com.cn/js/js_cookies.asp

cookie乱码 解决:  前台的  encodeURIComponent(value)      配合     后台的 URLDecoder.decode(cookie.getValue(),"UTF-8");

response.setContentType("text/html;charset=UTF-8");
    public static void writeCookie(HttpServletResponse response, String key, Object value) throws UnsupportedEncodingException {
writeCookie(response, key, ObjectUtils.writeValueAsString(value));
} public static void writeCookie(HttpServletResponse response, String key, String value) throws UnsupportedEncodingException {
String urlValue=URLEncoder.encode(value, "utf-8");
Cookie cookie = new Cookie(key, urlValue);
// cookie.setPath("/");
cookie.setPath("/quality/public/mobile/qa/classInfo/answer"); //输出的到某个页面// cookie.setHttpOnly(true);
cookie.setMaxAge(30 * 24 * 60 * 60);
// cookie.setMaxAge(0);
response.addCookie(cookie);
}

js操作cookie总结 及乱码的更多相关文章

  1. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  2. JS操作cookie以及本地存储(sessionStorage 和 localStorage )

    JS操作cookie cookie的操作用两种方式 1.substring //创建cookie function setCookie(name,value,expires,path,domain,s ...

  3. js操作cookie,实现登录密码保存 [转]

    转自:http://blog.csdn.net/zyujie/article/details/8727828 ( 谢谢博主了) js操作cookie,实现登录密码保存.cookie的存放方式是以键值对 ...

  4. 转: js操作cookie

    cookie的几个概念 http://dearhappyfish.blog.163.com/blog/static/1901094152012422114753777/ js操作cookie 转:ht ...

  5. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  6. js 操作 cookie

    js 操作 cookie 的方法如下: //设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.set ...

  7. 使用纯生js操作cookie

    前段时间做项目的时候要使用js操作cookie,jquery也有相应的插件,不过还是觉得纯生的js比较好,毕竟不依赖jq. //获得coolie 的值 function cookie(name) { ...

  8. js操作cookie(转载:经测试可用)

    /***js操作cookie,star***/ function addCookie(objName,objValue,objsec){//添加cookie  var str = objName + ...

  9. 分步引导中,Js操作Cookie,实现判断用户是否第一次登陆网站

    上一篇介绍了分布引导插件IntroJs的使用,本篇介绍通过Js操作cookie的方法. 分步引导的功能只适合与第一次登陆网站的新用户,不能每次登陆都提示分布引导,那么如何判断用户是否第一次登录网站呢? ...

随机推荐

  1. Html概述

    Html概述 主要思想,主要思想很重要 一.Html是什么 一种标记语言(用标签进行标记) 对要显示的文字进行标记 二.Html核心 标签(只认标签) 封装,所以必须有头尾,你才知道标签的范围,你才知 ...

  2. Bash and a Tough Math Puzzle CodeForces - 914D (线段树二分)

    大意:给定序列, 单点修改, 区间询问$[l,r]$内修改至多一个数后$gcd$能否为$x$ 这题比较有意思了, 要注意到询问等价于$[l,r]$内最多有1个数不为$x$的倍数 可以用线段树维护gcd ...

  3. python读写csv时中文乱码问题解决办法

    https://www.cnblogs.com/shengulong/p/7097869.html 参考1 参考2 参考3 CSV是英文Comma Separate Values(逗号分隔值)的缩写, ...

  4. 快速切题sgu126. Boxes

    126. Boxes time limit per test: 0.25 sec. memory limit per test: 4096 KB There are two boxes. There ...

  5. HDU 4791 Alice's Print Service 思路,dp 难度:2

    A - Alice's Print Service Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  6. Oracle sqlloader

    一.SQL*LOADER简介 SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作好的exce ...

  7. Linux内核分析-分析Linux内核创建一个新进程的过程

    作者:江军 ID:fuchen1994 实验题目:分析Linux内核创建一个新进程的过程 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/li ...

  8. C++设计模式之解释器模式

    2013年07月06日 19:43:00 阅读数:8853 概述: 未来机器智能化已然成为趋势,现在手机都能听懂英语和普通话,那我大中华几万种方言的被智能化也许也是趋势,我们的方言虽然和普通话相似,但 ...

  9. 内核事件KEVENT(同步)

    转载请您注明出处:http://www.cnblogs.com/lsh123/p/7358702.html 一.驱动程序与驱动程序的事件交互    IoCreateNotificationEvent ...

  10. 0121 集合类 ArrayList 的练习

    集合接口的常用方法: 1.List接口 public class Jihe { public static void main(String[] args) { ArrayList<String ...