Session

4 篇文章 0 订阅
0 篇文章 0 订阅

1、是什么

是一种会话技术, 基于cookie的一种会话技术。 cookie 是可以把数据存放在客户端,下一次来访的时候,带上那个数据,服务器就知道客户端是谁。 没有安全隐患。
Session : 数据存放在服务器端,并且把这个session对应的sessionID ,传递给客户端。是通过 Cookie去传递的。下一次客户端在来访的时候,带上那个sessionID ,就可以取到以前的数据了。

2、怎么用

HttpSesssion session = request.getSession();
session.setAttribute();
session.getAttribute();

3、session什么时候创建, 什么时候销毁?

调用request.getSession 就会创建
关闭服务器即销毁, 或者会话过期,超过了设定时间,默认30分钟。
关闭浏览器, session不会销毁, 因为这个session 数据是存放在服务器的内存中的。
那么为什么再一次开启浏览器访问的时候,无法取到以前的数据。
因为session 的id是通过cookie来传递的。 但是这个cookie并没有设置有效期。 所以关闭浏览器之后, cookie就删除了。 表明里面的那个sessionID 也就没有了。下一次再来访问。 如果还想在下一次访问的时候,取到以前的数据。
session会话默认有效期 30分钟

4、 在服务器端手动设置cookie

String id = request.getSession().getId();
		Cookie cookie = new Cookie("JSESSIONID",id);
		cookie.setMaxAge(60*60*24*7);//7天
		reponse.addCookie(cookie);
    //获取session对象
    HttpSession session = request.getSession();
    //得到会话ID
    String id = session.getId();
    String name = null;
    Object value =null;
    //存值
    session.setAttribute(name, value);
    //取值
    session.getAttribute(name);
    //移除值
    session.removeAttribute(name);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值