Jsp内置对象_session对象

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

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

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

常用方法如下:

long getCreationTime() 返回session创建时间(单位:毫秒)
String getId() 返回session创建时JSP引擎为他设的唯一ID号
void setAttribute(String name, Object value) 使用指定名称将对象绑定到此会话
Object getAttribute(String name) 返回此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
String[] getValueNames() 返回一个包含此session中所有可用属性的数组
int getMaxInactiveInterval() 返回两次请求间隔多长时间此session被取消(单位:秒)
void setMaxInactiveInterval(int arg0) 设置session失效的时间间隔
void invalidate() 对当前的session进行销毁

session的生命周期

    1. 创建

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

    2. 活动

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

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

        除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。

        注:原会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再没有客户端会携带它然后交予服务端校验。

    3. 销毁

        Session的销毁只有三种方式:

        1) 调用了session.invalidate()方法

        2) session过期(超时)

        3) 服务器重新启动

session 超时时间的设置

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

    设置session超时时间有两种方式:

        1. session.setMaxInactiveInterval(时间);// 单位是秒

        2. 在web.xml 配置

            <session-config>

            <session-timeout>

                10

            </session-timeout>

            </session-config> // 单位是分钟

猜你喜欢

转载自blog.csdn.net/a405335586/article/details/81092633
今日推荐