cookie和session

cookie:浏览器端会话技术

cookie怎么用?
    1.添加cookie到浏览器
                1>新建一个cookie(键值对)
                Cookie cookie = new Cookie(String key,String value);
                2>将cookie 添加到响应中
                response.addCookie(cookie);

    2.浏览器发送cookie到服务器,如何取
               1>获得所有浏览器发送的cookie
                 Cookie[] cookies  = request.getCookies();

               2>cookie的常用方法:
                  getName():获取cookie的key(名称)
                  getValue:获取指定cookie的值

cookie的一些细节:

    1.默认关闭浏览器,cookie就被删除,有效时间-1

      2.有效时间的设置

        1>设置一个正数,标示最大有效时间.单位是秒
        //cookie.setMaxAge(60*60);
        2>设置为-1 , 就是相当于默认有效时间, 浏览器关闭就消失.
        //cookie.setMaxAge(-1);
        3> 标示cookie的有效时间为0.发送到浏览器就消失了.
                //利用有效时间为0 这件事,我们可以做删除cookie的操作.
                // 因为同一个路径 ,不能存在相同的cookie(键相同).
                // 我们可以通过覆盖的方式,设置有效时间为0. 删除cookie
        cookie.setMaxAge(0);

     3.setPath(String path):设置cookie的路径.
            当我们访问的路径中包含此cookie的path,则携带
            默认路径:
                访问serlvet的路径,从"/项目名称"开始,到最后一个"/"结束
                例如:
                    访问的serlvet路径:
                        /day11/a/b/hello
                    默认路径为:
                        /day11/a/b
            手动设置路径:以"/项目名"开始,以"/"结尾;

注意:
    cookie不能跨浏览器
    cookie中不支持中文


session:服务器端会话技术

原理:浏览器第一次访问服务器,服务器会在内存中开辟一个空间(session),并把session对应的ID发送给浏览器.
          那么下次浏览器再去访问服务器,会把sessionID 交给服务器,服务器通过sessionID 找到刚才开辟的空间.

获取session:HttpSession session = request.getSession();

操作session:

                      session.setAttribute(arg0, arg1)
                      session.getAttribute(arg0)
                      session.removeAttribute(arg0)
                      session.getAttributeNames()

生命周期:
            创建:第一次调用request.getsession()创建
            销毁:
                服务器非正常关闭
                session超时
                    默认时间超时:30分钟  web.xml有配置
                    手动设置超时:setMaxInactiveInterval(int 秒) 了解
                手动干掉session
                     session.invalidate()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值