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了。
  • 相关阅读:
    SpringBoot+SpringCloud
    bootstrap-thymeleaf-分页
    排序-Java
    native2ascii运用
    标准W3C盒子模型和IE盒子模型
    在既定状态下截图
    java.util.zip.ZipException: error in opening zip file
    安装 haproxy
    mysql集群
    最简redis集群配置
  • 原文地址:https://www.cnblogs.com/net515/p/6494098.html
Copyright © 2011-2022 走看看