java:Session
Posted 咫尺天涯是路人丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java:Session相关的知识,希望对你有一定的参考价值。
1.Session概述:
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。
2.
session:
在web中session就代表了一次会话
一次建立连接和一次关闭连接称之为会话
session会在客户端第一次向服务器请求的时候,在服务器上被创建,服务器响应客户端的时候就会传送给客户端,此时sessionID保留在客户端
当客户端第二次向服务器发送请求的时候会带上sessionid---->首先要寻找相同sessionid,如果找到就标识来过,如果没有找到,服务器就会重新创建一个sessionid返回给客户端
session什么时候被销毁:
(session的不活动周期)
不活动周期:当在10秒钟之内任意一秒刷新了页面(操作当前session),失效时间会自动重置为10秒
关闭服务器
关闭浏览器
配置session自动失效((tomcat服务器)默认失效时间为30m)
*****如果使用的是tomcat服务器,不允许修改tomcat的web.xml中的session失效时间
setMaxInactiveInterval设置失效使用
invalidate()方法,强制失效(坚决不让用)
session常用的方法:
******setAttribute(key,value);为session对象设置一个值
******getAttribute(key);通过设置的key获取对应的值
******removeAttribute(key);通过设置的key移除对应的键值对
(不常用)getAttributeNames();获取设置的key的值,返回的是一个枚举
setMaxInactiveInterval(int seconds);设置session的失效时间,单位是秒
getMaxInactiveInterval();获取session的失效时间,单位是秒
******isNew();当前session对象是否为新创建的对象,返回boolean类型
以上是关于java:Session的主要内容,如果未能解决你的问题,请参考以下文章