Cookie和Session-学习笔记03【Session快速入门、Session细节】

本文档详细梳理了Java后端开发中Cookie和Session的学习路线,包括快速入门、原理分析、细节讲解,以及钝化活化操作和特点,适合初学者和进阶者深入理解会话管理。
  1. Cookie和Session-学习笔记01【Cookie_快速入门、Cookie_细节】
  2. Cookie和Session-学习笔记02【Cookie案例、JSP改造Cookie案例】
  3. Cookie和Session-学习笔记03【Session快速入门、Session细节】
  4. Cookie和Session-学习笔记04【Session之验证码案例】

目录

第5节 Session快速入门

会话技术_Session_快速入门

会话技术_Session_原理分析

第6节 Session细节

会话技术_Session_细节1

会话技术_Session_细节2

钝化、活化 操作 —— Tomcat服务器

钝化、活化 操作 —— idea

会话技术_Session_细节3_sessio

会话技术_Session_特点


第5节 Session快速入门

会话技术_Session_快速入门

Session:主菜

1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。(HttpSession)
2. 快速入门:
    1. 获取HttpSession对象:
        HttpSession session = request.getSession();
    2. 使用HttpSession对象:
        Object getAttribute(String name)
        void setAttribute(String name, Object value)
        void removeAttribute(String name)

  

会话技术_Session_原理分析

Session:主菜
1. 概念
2. 快速入门
3. 原理
    * Session的实现是依赖于Cookie的。

Session原理

第6节 Session细节

会话技术_Session_细节1

Session:主菜
1. 概念
2. 快速入门
3. 原理
4. 细节:
    1. 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?【默认情况下,不是!】
        * 默认情况下,不是。
        * 如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存。
            Cookie c = new Cookie("JSESSIONID",session.getId());
            c.setMaxAge(60*60);
            response.addCookie(c);

    2. 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?【不是同一个!】

    3. session什么时候被销毁?【服务器关闭;session对象调用invalidate() ;session默认失效时间(30分钟)】

会话技术_Session_细节2

Session:主菜
1. 概念
2. 快速入门
3. 原理
4. 细节:
    1. 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?【默认情况下,不是!】

    2. 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?【不是同一个!】
        * 不是同一个,但是要确保数据不丢失。tomcat自动完成以下工作
            * session的钝化:
                * 在服务器正常关闭之前,将session对象系列化到硬盘上(序列化)。
            * session的活化:
                * 在服务器启动后,将session文件转化为内存中的session对象即可(反序列化)。

    3. session什么时候被销毁?【服务器关闭;session对象调用invalidate() ;session默认失效时间(30分钟)】

钝化、活化 操作 —— Tomcat服务器

比如:在京东购物网站,用户张三将一款手机添加进了购物车。京东购物网站服务器重启,用户张三的购物车数据丢失,用户体验不好,容易丢失客户流量。

将项目打包为war包,部署到Tomcat下,用shutdown.bat正常关闭服务器,重启服务器时,Tomcat会自动读取上一次会话保留的session信息。两次session不是同一个,但内容一样。

附:此集视频 时长 12:09,内容较多!

钝化、活化 操作 —— idea

idea只能做到session的钝化,但做不到session的活化(部署项目,一般不会在idea上部署)。

会话技术_Session_细节3_sessio

Session:主菜
1. 概念
2. 快速入门
3. 原理
4. 细节:
    1. 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?【默认情况下,不是!】

    2. 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?【不是同一个!】

    3. session什么时候被销毁?
        1. 服务器关闭
        2. session对象调用invalidate() 。
        3. session默认失效时间(30分钟)
            选择性配置修改    
            <session-config>
                <session-timeout>30</session-timeout>
            </session-config>

会话技术_Session_特点

Session:主菜
1. 概念
2. 快速入门
3. 原理
4. 细节
5. session的特点
    1. session用于存储一次会话的多次请求的数据,存在服务器端。
    2. session可以存储任意类型,任意大小的数据。
    * session与Cookie的区别:
        1. session存储数据在服务器端,Cookie在客户端。
        2. session没有数据大小限制,Cookie有数据大小限制。
        3. session数据安全,Cookie相对不安全。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

upward337

谢谢老板~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值