Java中cookie的使用

1.JavaWeb会话:

会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
它指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程,例如,一个用户在某网站上的整个购物过程就是一个会话。

(1)客户端请求Web服务器时,针对每次HTTP请求,Web服务器都会创建一个HttpServletRequest对象,该对象只能保存本次请求所传递的数据。

(2)使用ServletContext对象保存数据时,由于同一个Web应用共享的是同一个ServletContext对象,因此,当用户在发送结账请求时,由于无法区分哪些商品是哪个用户所购买的,而会将该购物网站中所有用户购买的商品进行结算,这显然也是不可行的。

(3)为了保存会话过程中产生的数据,在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和Session。

2.cookie概念

  • Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据
  • 首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来
  • 当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器
  • Cookie就是服务器保存在客户端的数据
  • Cookie就是一个键值对
    在这里插入图片描述

3.cookie的方法

方法声明功能描述
Cookie(String name, String value)构造方法
getName()获取Cookie的名称
setValue()设置Cookie的值
getValue()获取Cookie的值
setPath()设置Cookie项的有效目录路径
getPath()获取Cookie的路径
setDomain()设置Cookie的有效域
setMaxAge()设置Cookie在浏览器上保持的时间,以秒为单位
getMaxAge()获取Cookie在浏览器上保持的秒数
setVersion()设置Cookie采用的协议版本
getVersion()获取Cookie采用的协议版本
setComment()设置Cookie的注解部分
getComment()获取Cookie的注解
setSecure()设置Cookie是否使用安全的协议传送
getSecure()获取Cookie是否使用安全的协议传送

4.cookie的使用

public void addCookie(HttpServletResponse response, String token, User user) {
       redisService.set(UserKey.token, token, user);
       Cookie cookie = new Cookie(COOKIE_NAME_TOKEN, token);
       cookie.setMaxAge(UserKey.token.expireSeconds());    //cookie的有效期和token保持一致
       cookie.setPath("/");//设置为网站根目录
       response.addCookie(cookie);
   }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值