• 会话技术(Cookie,Session)


    会话技术(Cookie,Session)

    会话:简单理解为一个用户开一个浏览器访问某一个网站,不关闭浏览器,点击多个超链接,访问服务器多个服务资源,
          然后关闭浏览器。整个过程就是一次会话(会话是针对一个网站而言)
    分类:
     客户端会话:Cookie
     服务器会话:Session
    解决问题:使用会话技术,可以在一次会话中的多次请求共享数据
     
     Cookie:一种在客户端保持会话的跟踪解决方案
             原理:
                1.客户端第一次请求服务器端,服务器作出响应时,会发送set-cookie头,携带需要共享的数据
                2.当客户端接受到这个响应,会将数据存储在客户端
                3.当客户端再次请求服务器端时,会通过cookie请求头携带着存储的数据。
                4.服务器接受带请求,会获取客户端携带的数据

    //创建Cookie cookie=new Cookie(string1,string2);
    string1:用于指定Cookie的属性名字
    string2:用于存储指定的Cookie的属性值
    //设置Cookie的有效时间
    cookie.setMaxAge(time);
    time:以秒为单位的整数时间
    //获取Cookie
    //从request对象中获取的是“一堆”的Cookie,所以是用一维数组接受
    Cookie cookie[]=request.getCookie();
    //可以用foreach去遍历数组
    for(Cookie c:cookie)
    //获取cookie的名字和属性值
    cookie.getName();
    cookie.getValue();

    Cookie在实际中的应用:

    记住用户名和密码,购物车里面的商品,网站的第几位访问以及上次访问时间等(通常这些数据是经过MD5加密的)



    Session:使用HttpSession对象实现会话追踪技术,是一种在服务器保持会话跟踪的解决方案
    //获取会话对象
    HttpSession session=request.getSession();
    或者
    HeepSession session=request.getSession(true);
    //存取会话遇属性
    session.setAttribute("username","Jarrem"); //存储属性“username”,值为“Jarrem”
    String name=(String)session.getAttribute("username");//通过属性名获取属性值
    session.removeAttribute("username");//从会话中移除属性为“username”
    //获取最大不活动时间
    int time=session.getMaxInactiveInterval();
    //使用代码设置最大不活动时间
    session.setMaxInactiveInterval(3600); //单位为秒
    //在web.xml中设置最大不活动时间
    <session-config>
    <session-timeout>10</session-timeout><!--单位是分钟-->
    </session-config>
    //设置会话立即失效
    session.invalidate();


    注意:关闭浏览器会话不会立即消失,仅客户端的会话cookie会失效,如果还没有达到session的最大活动时间,关闭浏览器服务器的会话对象是存在的,这就为会话攻击提供了可能,所以实际用用中引用“安全退出”结束会话

  • 相关阅读:
    简单的so修改
    Android 模拟MotionEvent事件 触发输入法
    类模板使用示例(三) 类模板局部特化
    类模板使用示例(二)类模板整体特化
    模板类使用示例(一)
    泛函分析之赋范空间
    Cocos2d-x学习笔记(十二)3D特效
    Cocos2d-x学习笔记(十一)动作
    Cocos2d-x学习笔记(十)CC_CALLBACK回调函数相关宏
    Cocos2d-x学习笔记(九)场景切换
  • 原文地址:https://www.cnblogs.com/jarrem/p/5910827.html
Copyright © 2020-2023  润新知