当前位置:   article > 正文

Cookie使用方法简介_cookie怎么使用

cookie怎么使用

目录

1.概念

2.Cookie的基本使用 

2.1创建Cookie对象,并设置数据

2.2发送Cookie到客户端

2.3获取Cookie 

2.4Cookie 存活时间

3.注意事项

4.JavaScript操作Cookie 


1.概念

客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问。  

2.Cookie的基本使用 

2.1创建Cookie对象,并设置数据

Cookie cookie = new Cookie("key","value");

2.2发送Cookie到客户端

response.addCookie(cookie);

2.3获取Cookie 

获取客户端携带的所有Cookie

Cookie[] cookies = request.getCookies();

遍历数组,获取每一个Cookie对象:for,使用Cookie对象方法获取数据 

  1. cookie.getName();
  2. cookie.getValue();
  3. //表单输入框使用value值给表单元素添加默认值,value可以使用
  4. ${cookie.key.value}
  5. //注:在JSP使用,添加词头“<%@ page isELIgnored="false" %>”,为EL表达式,key为cookie名称,

2.4Cookie 存活时间

  1. //设置存活时间,1周 7天
  2. //setMaxAge(int seconds)
  3. cookie.setMaxAge(60*60*24*7);

参数值为:

1.正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储,到时间自动删除。

2.负数:默认值,Cookie在当前浏览器内存中,当浏览器关闭,则Cookie被销毁。

3.零:删除对应Cookie。

3.注意事项

Cookie不能存储中文,我们可以使用之前学过的一个知识点叫URL编码,所以如果需要存储中文,就需要进行转码,具体的实现思路为:

1.在AServlet中对中文进行URL编码,采用URLEncoder.encode(),将编码后的值存入Cookie中

2.在BServlet中获取Cookie中的值,获取的值为URL编码后的值

3.将获取的值在进行URL解码,采用URLDecoder.decode(),就可以获取到对应的中文值

  1. //在AServlet中对中文进行URL编码
  2. //发送Cookie
  3. String value = "张三";
  4. //对中文进行URL编码
  5. value = URLEncoder.encode(value, "UTF-8");
  6. System.out.println("存储数据:"+value);
  7. //将编码后的值存入Cookie中
  8. Cookie cookie = new Cookie("username",value);
  1. //获取Cookie
  2. //1. 获取Cookie数组
  3. Cookie[] cookies = request.getCookies();
  4. //2. 遍历数组
  5. for (Cookie cookie : cookies) {
  6. //3. 获取数据
  7. String name = cookie.getName();
  8. if("username".equals(name)){
  9. String value = cookie.getValue();//获取的是URL编码后的值 %E5%BC%A0%E4%B8%89
  10. //URL解码
  11. value = URLDecoder.decode(value,"UTF-8");
  12. System.out.println(name+":"+value);//value解码后为 张三
  13. break;
  14. }
  15. }

4.JavaScript操作Cookie 

 JS封装cookie操作函数实例(设置、读取、删除),主要介绍了JS封装cookie操作函数,以实例形式分析了JavaScript实现针对cookie的设置、获取及删除相关技巧。

  1. /*设置cookie*/
  2. function setCookie(name, value, iDay)
  3. {
  4. var oDate=new Date();
  5. oDate.setDate(oDate.getDate()+iDay);
  6. document.cookie=name+'='+value+';expires='+oDate;
  7. };
  8. /*使用方法:setCookie('user', 'simon', 11);*/
  9. /*获取cookie*/
  10. function getCookie(name){
  11. var arr=document.cookie.split('; ');//多个cookie值是以; 分隔的,用split把cookie分割开并赋值给数组
  12. for(var i=0;i<arr.length;i++){//历遍数组
  13. var ars=arr[i].split('=');//原来割好的数组是:user=simon,再用split('=')分割成:user simon 这样可以通过arr2[0] arr2[1]来分别获取user和simon
  14. if(ars[0]==name){//如果数组的属性名等于传进来的name
  15. return ars[1];//就返回属性名对应的值
  16. }
  17. }
  18. return ''; //没找到就返回空
  19. }
  20. /*使用方法:getCookie('user')*/
  21. /*删除cookie*/
  22. function removeCookie(name)
  23. {
  24. setCookie(name, 1, -1); //-1就是告诉系统已经过期,系统就会立刻去删除cookie
  25. };
  26. /*使用方法:removeCookie('user')*/

 可以点个免费的赞吗!!!    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/149739
推荐阅读
相关标签
  

闽ICP备14008679号