Session浅谈

简介: Session浅谈
  1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。
  2. 快速入门:
    1. 获取HttpSession对象:
      HttpSession session = request.getSession();
    2. 使用HttpSession对象:
      Object getAttribute(String name)
      void setAttribute(String name, Object value)
      void removeAttribute(String name)
  3. 原理
    • Session的实现是依赖于Cookie的。
  4. 细节:

    1. 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?
      • 默认情况下。不是。
      • 如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久
        化保存。
        Cookie c = new Cookie("JSESSIONID",session.getId());
        c.setMaxAge(60*60);
        response.addCookie(c);
    2. 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?

      • 不是同一个,但是要确保数据不丢失。tomcat自动完成以下工作
        • session的钝化:
          • 在服务器正常关闭之前,将session对象系列化到硬盘上
        • session的活化:
          • 在服务器启动后,将session文件转化为内存中的session对象即可。
    3. session什么时候被销毁?
      1、点击控制台的红色按钮异常关闭服务器要销毁session

      1. session对象调用invalidate() 。
      2. session默认失效时间 30分钟
        选择性配置修改
                 <session-timeout>30</session-timeout>
         </session-config>
        
    1. session的特点
      1. session用于存储一次会话的多次请求的数据,存在服务器端
      2. session可以存储任意类型,任意大小的数据
相关文章
|
2月前
|
存储 监控 安全
云客服系统 400 电话全栈技术方案:基于阿里云架构的设计与实践
400 电话是企业客户服务的核心入口,如何将传统语音通信与现代云客服系统深度融合,是很多企业数字化转型中面临的技术挑战。本文基于阿里云技术栈,从架构设计、核心模块实现、产品选型、性能优化等维度,完整解析云客服系统集成 400 电话的全栈技术方案。
356 1
|
5月前
|
异构计算
基于MATLAB/Simulink实现交流异步电动机矢量控制的仿真
基于MATLAB/Simulink实现交流异步电动机矢量控制的仿真
|
9月前
|
存储 关系型数据库 调度
微服务原理篇(XXLJOB-幂等-MySQL)
本课程深入讲解微服务核心组件XXL-JOB任务调度原理,涵盖其架构、分布式任务处理、幂等性设计及MySQL存储引擎、索引机制、SQL优化与分库分表策略,全面提升系统性能与可靠性。
|
10月前
|
编解码 运维
基于MATLAB的短时傅里叶变换及其逆变换的实现
基于MATLAB的短时傅里叶变换(STFT)及其逆变换(ISTFT)的实现
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
|
安全 Linux 虚拟化
macOS Ventura 13.7.7 (22H722) 正式版 ISO、IPSW、PKG 下载
macOS Ventura 13.7.7 (22H722) 正式版 ISO、IPSW、PKG 下载
5099 0
|
存储 API C语言
C/C++爱心代码
C/C++爱心代码
4382 2
|
编解码 搜索推荐 前端开发
字节跳动出大招!IconPark图标库,自定义图标,好用到停不下来!
【11月更文挑战第10天】IconPark 是字节跳动推出的一款高质量图标库,提供超过 2400 个图标,涵盖 32 种分类,支持在线编辑颜色、线条粗细等属性,提供 SVG 和 PNG 格式下载,支持 React、Vue3 等组件代码导出,开源免费商用,适用于网页、移动和桌面应用。
1432 4
|
消息中间件 弹性计算 运维
二维火:智能餐饮云端互联
随着物联网行业的快速发展,在就餐高峰期,海量终端设备与后台餐饮系统之间存在频繁的双向交互,比如订单消息、支付消息等,需要一款中间件作为终端设备与后台应用之间的消息通道!
5205 122
二维火:智能餐饮云端互联
|
消息中间件 JSON 资源调度
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
52186 4
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust