JSP_内置对象_session
session表示客户端与服务器的一次会话。
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
从上述定义中可以看到,session实际上是一个特定的时间概念。
在服务器的内存中保存着不同用户的session。
session对象:
session对象是HttpSession类的实例
session对象在第一个JSP页面被装载是自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在服务器几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。
session对象常用方法如下:
long getCreateTime() 返回SESSION创建时间
public String getId() 返回SESSION创建时JSP引擎为它设的唯一ID号
public Object setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话
public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
String[] getValueNames() 返回一个包含在此SESSION中所有可用属性的数组
void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSON被取消(单位秒)
int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSON被取消(单位秒)
Session的生命周期:
创建:
当客户端第一次访问某个jsp后者Servlet时,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验,来判断是否属于同一次会话。
活动:
某次会话当中通过超链接打开的新页面属于同一次会话。
只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
除非本次会话的所有玉面都关闭后再重新访问某个JSP后者Servlet将会创建信的会话。(注:原有会话还存在,只是这个就得Session仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验。)
销毁:
Session的销毁的三种方式:
1.调用了session.invalidate()方法
2.Session过期(超时)
3.服务器重新启动
Tomcat默认Session超时时间为30分钟。
设置Session超时有两种方式:
1.sessionsetMaxInactiveInterval(时间) //单位秒
2.在web.xml配置 (单位是分钟)
<session-config>
<sessoin-timeout>
10
</session-config>
</session-config>
posted on 2016-08-25 10:32 JASONlee3 阅读(1414) 评论(0) 编辑 收藏 举报