zoukankan      html  css  js  c++  java
  • Session

    关于Session的4点:

    第一点:Session的含义
    通话,会话,对话期间,对谈时间的意思,其本来的含义一个终端用户与交
    互系统进行通信的时间间隔,通常是指从进入系统到退出系统之间所经
    过的时间.
    第二点:Session的原理
    服务器可以为客户端创建并维护一个Session对象,用于存放数据.在创
    建Session对象的同时,服务器会将为该Session对象产生一个唯一的编
    号,这个编号称之为SessionID,服务器以Cookie的方式将SessionID存放
    在客户端.当浏览器再次访问该服务器时,会将SessionID作为Cookie信
    息带到服务器,服务器可以通过SessionID检索到以前的Session对象,进
    行访问.需要注意的是,此时的Cookie中仅仅保存了一个SessionID,而相
    对较多的会话数据保存在服务器端对应的Session对象中,由服务器来统
    一维护,这样一定保证了会话数据的安全性,但增加了服务器端的内存开
    销.存放在客户端的用于保存SessionID的Cookie会在浏览器关闭时清除
    .
    第三点:实例化Session
    HttpSession session = request.getSession(boolean); //获得
    HttpSession对象;boolean=true===Session查找是否存在一个
    SessionID,如果存在使用,如果没有新建;false===Session查找是否存
    在一个SessionID,如果存在使用,如果不存在不管.
    session.setMaxInactiveInterval(30);//设置Session对象的最长不活
    动间隔;
    session.setAttribute("key","value");
    session.isNew();//判断当前会话是不是一个新的会话;
    第四点:HttpSession接口
    setAttribute("name","value");在Session对象中用一个名字绑定一个
    对象
    getAttribute("name");通过名字得到属性值
    removeAttribute("name");通过名字删除
    getCreationTime();返回第一次创建会话的时间
    getLastAccessedTime();返回容器最后一次得到该会话ID的请求时间
    setMaxInactiveInterval(int interval);设置客户请求的最大间隔时

    getMaxInactiveInterval(int interval);返回客户请求的最大间隔时

    invalidate();会话结束,当前存在在会话中的所有会话属性也会解除绑

    getId();返回每一个Session唯一的标识;
    第五点:会话超时管理
    销毁有三种方法:
    设置会话超时
    在Session对象上调用invalidate();
    应用结束(崩溃或取消部署)

  • 相关阅读:
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 133 克隆图
  • 原文地址:https://www.cnblogs.com/yufei121/p/5965543.html
Copyright © 2011-2022 走看看