首页 > 其他 > 详细

Session详解

时间:2021-01-20 13:06:04      阅读:33      评论:0      收藏:0      [点我收藏+]

session概述

  session用于记录用户的状态,指的是在一段时间内,单个客户端和web服务器的一连串相关的交互过程。

  在一个session中,客户可能会多次请求访问同一个资源,也有可能请求访问各种不同的服务器资源。

session原理

  服务器会为每一次会话分配一次session对象(由服务端创建)

  同一个浏览器发起的多次请求,同属于一次会话

  首次使用session时,服务器会自动创建session,并创建cookie存储sessionid发送给客户端

session的作用域

  session的作用域是存储数据的空间,作用范围是一次会话有效

  ?一次会话是使用同一浏览器发送的多次请求,一旦浏览器关闭,则结束会话

  ?可以将数据存入session中,在一次会话的任意位置进行获取

  ?可以存储任何数据(基类、数组、集合、对象)

session的获取

  session已经被封装成一个类,是服务端自动创建的,我们就要通过request对象获取,每个session在创造时都带有sessionId,对于每次会话的sessionId是不同的

//1.通过request对象获取session对象
HttpSession session = request.getSession();
//2.查看sessionId
System.out.println(session.getId());

session保存数据

  我们可以通过键值对的形式,把数据保存在session里

session.setAttribute("key",value);

session获取数据

  同样的我们可以根据key来获取value

session.getAttribute("key");

session移除数据

  通过removeAttribute方法移除指定key的session数据

 

session.removeAttribute("key");

 

session和request的区别

  session和request一样,都可以设置键值对存储数据,但不同的是

  ?request是请求有效,请求改变则request

  ?session是会话有效,浏览器改变则session改变

session的生命周期

 

  ?开始:第一次使用session的请求产生则创建session

  ?结束:浏览器关闭、session超时、手动销毁

  设置session时限,单位是秒

session.setMaxInactiveInterval(seconds);

  销毁session,我们常在手动注销中使用

session.invalidate();

  

Session详解

原文:https://www.cnblogs.com/qq2210446939/p/14302129.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!