zoukankan      html  css  js  c++  java
  • 我的Java之旅 第七课 JAVA WEB 会话管理

    1、隐藏域

          隐藏域其实不是Servlet/JSP的会话管理机制的内容,但它能实现简单的页面状态记录的效果。
    2、Cookie
       Cookie类
       setMaxAge() 设置有效期,单位秒。如果不设置有效期,则关闭浏览器后失效。
       request.getCookies()取得Cookie,返回Cookie类型数组。
      cookie.getName();cookie.getValue()   取得cookie的key和value值。
      cookie.setHttpOnly()  不被客户端脚本读取。
      cookie.isHttpOnly() 是否被标识为仅用于HTTP。
    3、URL中记录信息,如分页,查询条件等。
    4、HttpSession 会话管理 
      HttpSession非线程安全,需要注意共享存取问题。
      request.getSession() 取得session对象。
      session.setAttribute()和 session.getAttribute()
      session.invalidate()   使session失效
     Session原理
          每个Session对象都有一个唯一ID,称为SessionId。getId()可以取得。这个Id默认会通过Cookie存储在浏览器中,当再次请求时,浏览器会同数据一起发回服务器,这样,服务器就可以区分不同
    浏览器(客户端)在服务器存储的数据了。浏览器存储SessionId的Cookie默认是关闭浏览器就失效,所以已登录的网站当浏览器全关再打开时,会丢掉登录状态。在这里,看似Session数据也没有了,其实
    服务器端的数据还在,只是SessionId没有了,所以,Session数据是要定期清理的(设置失效)。
          可以执行HttpSession的setMaxInactiveInterval() 设定浏览器多久没有请求的话,自动失效。单位是秒。也可以在web.xml中设置,但单位是分钟。
          当浏览器被禁用Cookie时,如果仍要使用Session记录状态,就必须借助URL来记录SessionId了。
  • 相关阅读:
    PCL利用RANSAC自行拟合分割平面
    HDU 3062 && HDU 1824 && POJ 3678 && BZOJ 1997 2-SAT
    BZOJ 3670 && BZOJ 3620 && BZOJ 3942 KMP
    BZOJ 1500 Splay 全操作
    Manacher
    POJ 2155 2维线段树 || 2维BIT
    BZOJ 1015 并查集+离线倒序
    NOI Linux JAVA
    UVA 10407 差分思想的运用
    BZOJ 1969 树链剖分+Tarjan缩点
  • 原文地址:https://www.cnblogs.com/net515/p/6494098.html
Copyright © 2011-2022 走看看