Java web Session概述

Session

概念

  • 服务器端会话技术,在一次会话中多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession

快速入门

  • 使用HttpSession:
    • Object getAttribute(String name)
    • void setAttribute(String name, Object value)
    • void removeAttribute(String name)
  • 获取HttpSession对象
    • request.getSession();

原理

  • 依赖Cookie在服务器储存数据

浏览器关闭后session不同

  • 为JSESSIONID设置过期时间

  • Cookie cookie = new Cookie("JSESSIONID", session.getId());
    cookie.setMaxAge(60*60);
    resp.addCookie(cookie);
    

服务器重启Session钝活化

  • 钝化
    • 在服务器正常关闭之前,将session对象序列化到硬盘中
  • 活化
    • 在服务器启动后,将session文件转化为内存中的session对象即可
  • Tomcat会自动完成此操作

session销毁

  • 服务器关闭
  • session对象调用invalidate()方法
  • session默认时效时间为30分钟
    • 配置方法:web.xml
    • session-timeout

session的特点

  • 用于储存一次会话的多次请求的数据
  • 可以储存任何类型、任意大小的数据
  • 数据存储在服务器端
  • 数据相对安全

session:主菜

cookie:甜点

发布了50 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_25884515/article/details/103920569