JavaWeb:session和cookie

Cookie

Cookie 是服务器通知客户端保存键值对的一种技术。

创建:

Cookie cookie = new Cookie("key4", "value4");
//2 通知客户端保存 Cookie
resp.addCookie(cookie);

服务器获取Cookie:
req.getCookies():返回Cookie[]数组

cookie的生命控制
setMaxAge()
正数,表示在指定的秒数后过期
负数,表示浏览器一关,Cookie 就会被删除(默认值是-1)
零,表示马上删除 Cookie

Cookie 的 path 属性可以有效的过滤哪些 Cookie 可以发送给服务器。哪些不发。
path 属性是通过请求的地址来进行有效的过滤。

Session 会话

  • 什么是 Session?

1、Session 就一个接口(HttpSession)。
2、Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。
3、每个客户端都有自己的一个 Session 会话。
4、Session 会话中,我们经常用来保存用户登录之后的信息。

  • 如何创建 Session 和获取
    request.getSession()
    第一次调用是:创建 Session 会话
    之后调用都是:获取前面创建好的 Session 会话对象
    每个会话都有一个身份证号。也就是 ID 值。而且这个 ID 是唯一的。
    getId() 得到 Session
  • Session 域数据的存取
    req.getSession().setAttribute(“key1”, “value1”)
  • Session 生命周期控制
    setMaxInactiveInterval()设置 Session 的超时时间(以秒为单位),超过指定的时长,Session就会被销毁。

session的底层是基于cookie实现的
无cookie时发请求,就会getSession创建会话对象,每次创建session对象都会创建一个cookie key是JSESSIONID,值是此session的ID,然后返回给客户端,创建cookie,每次调用session时,客户端都会把session的id传给服务端
在这里插入图片描述

在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。

Session使用在哪些场合?
于Session数据是存储在服务器端的,安全性比Cookie要高。
一般我们会用Session存储用户的状态,方便在页面之间切换时依旧显示登录状态。
还可以作为缓存,缓存用户购物车数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值