Session

Session

  1、表示客户端与服务器端一次会话;

  2、web中端session指端是,用户在浏览某个网站时,从进入网站到浏览器关闭所经过端这一段时间,也就是用户浏览这个网站所花费端时间

  总之:session实际上是一个特定的时间概念。

  3、在服务器内存中保存着不同用户的session

Session 对象

   1、session 对象是JSP的内置对象

  2、session对象在第一个JSP页面被装载时自动创建,完成会话期管理。

  3、从客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开服务器结束,被称为一次会话;

  4、当一个客户访问一个服务器的时候,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象;

  5、session对象是httpSession类的实例;

  6、tomcat默认的session超时时间为30分钟;

  7、通过设置session.setMaxInactiveIntervel(时间);//单位/秒

  8、在web.xml中设置,单位/分钟

    <session-config>

      <session-timeOut>

        10

      <session-timeOut/>

    <session-config>

Session 生命周期

  1、创建:

    当客户端第一次访问某JSP或者sevlet,服务器会为当前会话创建一个sessionId,每次客户端向服务端发送请求时,都会将此sessionId携带过去,服务器会对此sessionId进行校验;

  2、活动:

    某次会话当中通过超链接打开的新页面属于同一会话;

    只要当前的会话没有全部关闭重新打开新的浏览器窗口访问同一项目资源时,属于同一次会话;

    除非本次会话的所有页面都关闭后,再重新访问某个JSP页面或者sevlet将会创建新的会话;

    注意:原有会话还存在,只是这个旧的sessionId仍然存在于服务器端,只不过再也没有客户端携带它交予服务器端进行校验,等旧等session超时会自动销毁;

  3、销毁

    * 调用session.invalidate()方法进行销毁

    * Session 过期

    * 服务器重新启动

  

原文地址:https://www.cnblogs.com/yuxingyoucan/p/9623570.html