Session

概念

  • 服务器端会话技术,在一次会话的多次请求共享数据,将数据存在服务器端的对象(HttpSession)中
  • 获取
    • HttpSession session = request.getSession();
  • 使用
    • Object getAtrribut(String name)
    • Void setAtrribue(String name, Object value)
    • Void removeArribute(String name)
  • 原理
    • Session的实现是依赖于Cookie的
  • 客户端关闭 服务器不关闭 两次获取Session默认不是是同一个,如果需要相同可以创建Cookie,键为JSESSIONID,值为Session.getId()
  • 客户端不关闭 服务器关闭 两次获取的Session 不是同一个,要确保数据不丢失
    • Session的钝化
      • 在服务器正常关闭之前,将Session对象序列化到硬盘
    • Session的活化
      • 在服务启动后,将Session文件转化为内存中Session对象
  • Session的失效时间 也就被销毁
    • 服务器关闭
    • Session对象调用invalidate()
    • session默认失效时间30分钟
  • 特点
    • Session用于存储一次会话的多次请求的数据,存在服务器端
    • Session可以存储任意类型,任意大小的数据
    • Session和Cookie的区别
      • Session在服务器端 Cookie在客户端
      • Session没有数据大小限制 Cookie有
      • Session数据安全,Cookie相对不安全

你可能感兴趣的:(Session)