zoukankan      html  css  js  c++  java
  • Session详解

    session概述

      session用于记录用户的状态,指的是在一段时间内,单个客户端和web服务器的一连串相关的交互过程。

      在一个session中,客户可能会多次请求访问同一个资源,也有可能请求访问各种不同的服务器资源。

    session原理

      服务器会为每一次会话分配一次session对象(由服务端创建)

      同一个浏览器发起的多次请求,同属于一次会话

      首次使用session时,服务器会自动创建session,并创建cookie存储sessionid发送给客户端

    session的作用域

      session的作用域是存储数据的空间,作用范围是一次会话有效

      •一次会话是使用同一浏览器发送的多次请求,一旦浏览器关闭,则结束会话

      •可以将数据存入session中,在一次会话的任意位置进行获取

      •可以存储任何数据(基类、数组、集合、对象)

    session的获取

      session已经被封装成一个类,是服务端自动创建的,我们就要通过request对象获取,每个session在创造时都带有sessionId,对于每次会话的sessionId是不同的

    //1.通过request对象获取session对象
    HttpSession session = request.getSession();
    //2.查看sessionId
    System.out.println(session.getId());

    session保存数据

      我们可以通过键值对的形式,把数据保存在session里

    session.setAttribute("key",value);

    session获取数据

      同样的我们可以根据key来获取value

    session.getAttribute("key");

    session移除数据

      通过removeAttribute方法移除指定key的session数据

    session.removeAttribute("key");

    session和request的区别

      session和request一样,都可以设置键值对存储数据,但不同的是

      •request是请求有效,请求改变则request

      •session是会话有效,浏览器改变则session改变

    session的生命周期

      •开始:第一次使用session的请求产生则创建session

      •结束:浏览器关闭、session超时、手动销毁

      设置session时限,单位是秒

    session.setMaxInactiveInterval(seconds);

      销毁session,我们常在手动注销中使用

    session.invalidate();

      

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    java中高级软件工程师面试总结
    失败的面试经历
    解决webstorm打开包含node_modules项目卡死问题
    通俗易懂的理解javascript闭包
    javascript实现silverlight pivotViewer控件
    javascript面向对象
    吐槽一下万网空间
    html5的Canvas
    前端CSS兼容的一些思路
    Win10 Ubuntu子系统访问Windows目录
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14302129.html
Copyright © 2011-2022 走看看