zoukankan      html  css  js  c++  java
  • Session

    Session

    跟踪客户状态

    Web服务器跟踪客户状态通常有4种方法:建立含有跟踪数据的隐藏字段;重写包含额外参数的URL;使用持续的Cookie;使用Servlet API中的Session(会话)机制

    概念

    Session用于跟踪客户的状态。Session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互工程。在一个Session中,客户可能会多次请求访问同一个网页,也有可能请求访问各种不同的服务器资源。eg:在电子邮件应用中,从一个客户登录到电子邮件系统开始,经过收信写信和发信等一系列操作,直到最后退出邮件系统,整个过程为一个Session。

    运行机制(重要)

    1.当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)
    2.Servlet容器为HttpSession分配一个唯一标志符,称为Session ID。Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
    3.每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

    HttpSession重要接口

    1.getId() 返回Session的ID
    2.invalidate() 使当前的Session失效,Servlet容器会释放HttpSession对象占用的资源。
    3.setAttribuate(string name,object value) 将一堆name/value属性保存在HttpSession对象中。
    4.getAttribute(string name) 根据name参数返回保存在HttpSession对象中的属性值。
    5.isNew() 判断是否新创建的Session。如果是新创建的Session,返回true,否则返回false
    6.setMaxInactiveInterval() 设定一个Session可以处于不活动状态的时间间隔,以秒为单位。如果超过这个时间,Session自动失效,如果设置为负数,表示不限制Session处于不活动状态的时间

    生命周期



    关闭浏览器本质上Session并没有结束生命周期,是一个假象,关闭浏览器后,当不活动状态的时间到了,Session才会失效

  • 相关阅读:
    python编码基础知识
    python编码问题
    python中文乱码
    mysql sql灵活运用
    MySQL函数讲解(MySQL函数大全)
    python:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xef in position xxx: ordinal not in range(128)
    sql replace into 与 insert into
    微信布局
    盘点六大在中国复制失败的O2O案例
    字符串问题(一)
  • 原文地址:https://www.cnblogs.com/huangzefeng/p/9260965.html
Copyright © 2011-2022 走看看