保存状态: Session && Cookie

本文详细对比了Session与Cookie这两种常用的状态管理技术。介绍了Session的安全性和高效性及其在服务器端的应用方式,同时阐述了Cookie的工作原理及如何在客户端保存HTTP状态信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    1, Session: (服务器端)
        1) 适合保存大量的数据
        2) 安全
        3) 效率高
        4) Session 跟踪机制中需要cookie 来保存和传递sessionld
    2, Coolie: (客户端)
        1) 不适合保存大量的数据
        2) 不安全
        3) 效率低

    3, HttpSession
        1) 取得: HttpSession session = request.getSession();
            a, 如果session 已经被创建, 则返回已经创建的.
            b, 如果未创建, 则创建新的session.
            c, 一个客户端拥有一个session对象
        2) 作用域: 被属于同一个会话的请求共享
            a, 同一个会话: 同一个机器中的同一个浏览器
        3) 其他方法
            a, session.getId()    //返回相关联的session 的Id
            b, session.setMaxInactiveInterval(6)    
                    //以秒为单位设置session 的最大空闲时间
                      也可以在web.xml 中的<session-config>中配置空闲时间
                      默认空闲时间为30 分钟
            c, session.invalidate()        //强制session失效.

4,Cookie
    1,将http 状态信息保存在客户端的技术
    2, 取得:
        Cookie cookie = new Cookie("uname","dabao")
        添加多对值, 要new 多个cookie.
    3, 方法:
        cookie.setMaxAge(3600*24);    
            设置cookie的有效期,
            如果不设置有效期时间,cookie不会增加在客户端硬盘上,只是写到客户端内存中
        setName();
        setValue();
        getName();
        getValue();
    4, 响应信息中添加cookie;
        response.addCookie(cookie);
    5, 取得客户发来的cookie;
        request.getCookies();
            返回Cookie[] 类型的数组,在使用getName(),getVilue()来访问它的name和Value

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值