zoukankan      html  css  js  c++  java
  • JSP内置对象-Session

    什么是Session?

    • session表示客户端与服务器的一次会话
    • Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
    • 从上述定义中可以看到,session实际是一个特定的时间概念。
    • session保存在服务器的内存中,并且为不同的用户保存不同的session。

      如下购物流程为一个session。

        

    session对象

    • session对象是一个JSP内置对象。
    • session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
    • 从一个客户打开浏览器并连接到服务器开始,到客户端关闭浏览器离开这个服务器结束,被称为一个会话。
    • 当一个客户访问服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,这就需要session对象。
    • session对象是HttpSession类的实例。

    session对象的常用方法:

    • long getCreationTime():返回SESSION创建时间
    • public String getId():返回SESSION创建时JSP引擎为它设的唯一ID号。
    • public Object setAttribute(String name, Object value):使用指定名称将对象绑定到此会话。
    • public Object getAttribute(String name):返回与此会话中指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
    • String[] getValueNames():返回一个包含此SESSION中所有可用属性的数组。
    • int getMaxInactiveInterval():返回两次请求间隔多长时间此SESSION被取消(单位秒)

     session的生命周期:

     创建:

      当客户端第一次请求某个jsp或者Servlet的时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务器会对此SessionId进行校验。

     活动:

    • 某次会话当中通过超链接打开新页面属于同一个会话。
    • 只要当前页面没有全部关闭,重新打开新的浏览器访问同一个项目资源时属于同一会话。
    • 除非本次会话的所有页面都全部关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。

        注意事项:注意原有会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务器校验。这个session设置的超时时间过了服务器会销毁此sessionId。

     销毁:

      Session的销毁只有三种方式:

    1. 调用了session.invalidate()方法。
    2. Session过期(超时)

       Tomcat默认的超时时间为30分钟。

       设置超时时间的两种方式:

      1. session.setMaxInactiveInterval(时间)://单位是秒
      2. 在web.xml中配置

          <session-config>

          <session-timeout>10</session-timeout>

          </session-config>  单位是分钟         

      3.服务器重新启动。

      

      

      

           

          

           

      

  • 相关阅读:
    数据结构 链表笔记
    C语言 字符串操作 笔记
    数据结构 排序算法 笔记
    链表详解
    mysql常用命令
    图片压缩工具之grunt-contrib-imagemin
    正则表达式
    阿里云部署nodejs服务器(windows)
    canvas简介
    js面向对象
  • 原文地址:https://www.cnblogs.com/Fighting-Chen/p/9008971.html
Copyright © 2011-2022 走看看