Cookie的使用(Java、JavaScript)

1、Cookie简介

Cookie是一种会话技术,它用于将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器可以更好的进行数据交互。

2、Cookie特点

cookie是以文本形式保存(.txt)
cookie存储信息不安全(不能存放重要的信息)
cookie中有域(domain)和路径的概念,浏览器是一个比较安全的环境,所以不同的域之间不能直接访问(js的同源策略限制)

3、Cookie操作(Java)

//获取cookie(request为HttpServletRequest)
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies){
    System.out.println(cookie.getName()+":"+cookie.getValue());
}

//操作cookie(response为HttpServletResponse)
Cookie c = new Cookie("username","peter");// 新建一个Cookie对象
c.setPath("/");                           // 路径(一般为/,表示同一服务器内所有应用都可访问到该Cookie,视具体情况)
c.setDomain(".zxm.com");               // 设置域名(**设置为.zxm.com域名的话,则xxx.zxm.com的域名都可共享此cookie,不然就跨域无法共享**)
c.setMaxAge(24*60*60);                    // 设置过期时间1天,以秒为单位
//c.setMaxAge(0);                    // 设置生命周期为0,表示将要删除
//c.setMaxAge(Integer.MAX_VALUE);     //设置永久
response.addCookie(c);                    // 保存cookie到客户端

4、Cookie操作(JavaScript)

简单形式:

//没有设置expires时间的话其实就是默认关闭浏览器失效
document.cookie ='username=peter;domain=.zxm.com;path=/'
//设置max-age为0也能移除cookie,也可以用以下整理的方法

以下是整理的方法:

//添加cookie
function setCookie(name,value,time){ 
    var date= new Date(); 
    date.setDate(date.getDate()+time); 
    document.cookie = name+"="+value+";expires="+date; 
} 

//获得cookie
function getCookie(name){ 
    var arr = document.cookie.split(";"); 
    for(var i=0; i<arr.length; i++){ 
    var arr2 = arr[i].split("="); 
        if(arr2[0] == name){ 
            return arr2[1]; 
        } 
    } 
    return null; 
} 

//删除cookie
function removeCookie(name){ 
    setCookie(name,"",0) 
} 

有更好或更齐全的也可以在评论区推荐下哟!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue.js和Java之间的Cookie管理可以通过前后端配合实现。下面是一个简单的示例: 在Vue.js中,你可以使用`vue-cookies`或者`js-cookie`来处理Cookie。这些库提供了便捷的API来进行Cookie的设置、获取和删除。 1. 首先,在Vue项目中安装并引入`vue-cookies`或者`js-cookie`。 ```bash npm install vue-cookies # or npm install js-cookie ``` 2. 在Vue项目的入口文件(如`main.js`)中引入并注册Cookie库。 ```javascript import Vue from 'vue'; import VueCookies from 'vue-cookies'; // or import Cookies from 'js-cookie'; Vue.use(VueCookies); // or Vue.$cookies = Cookies; ``` 3. 在需要使用Cookie的地方,你可以通过以下方式进行相关操作。 ```javascript // 设置Cookie this.$cookies.set('name', 'value'); // or Cookies.set('name', 'value'); // 获取Cookie const value = this.$cookies.get('name'); // or const value = Cookies.get('name'); // 删除Cookie this.$cookies.remove('name'); // or Cookies.remove('name'); ``` 在Java后端,你可以通过HTTP响应头来设置和获取Cookie。 1. 设置Cookie: ```java String name = "name"; String value = "value"; Cookie cookie = new Cookie(name, value); cookie.setMaxAge(3600); // 设置过期时间,单位为秒 response.addCookie(cookie); ``` 2. 获取Cookie: ```java Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals("name")) { String value = cookie.getValue(); // 处理Cookie值 break; } } } ``` 请注意,在实际应用中,你可能需要根据具体的需求对Cookie进行更多的处理和验证,例如加密、安全设置等。以上示例仅为简单演示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谦风(Java)

一起学习,一起进步(✪ω✪)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值