一.session
1.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?
从session不活动的时候开始计算,如果session一直活动,session就总不会过期。
从该Session未被访问,开始计时; 一旦Session被访问,计时清0;sessionid有效期内不会变。
session 是借助 cookie 实现的。另外,清空客户端cookie,session就会丢失。
2.怎么判断session是否过期。
session不存在就是session过期了,可进行如下判断,方法如下:
if(request.getSession(false)==null){
System.out.println("Session has been invalidated!");
}
else{
System.out.println("Session is active!");
}
二、session储获信息三种方式
getSession()是返回当前用户的会话对象
1.request.getSession();
从当前request获取session,若获取不到则自动创建,并且返回新创建的session;若获取到,则返回到获取到的session;
2.request.getSession(true);
获取不到会自动创建 则如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回
3.request.getSession(false);
获取不到不会自动创建
注意request.getSession() 等同于 request.getSession(true),除非我们确认session一定存在或者sesson不存在时明确有创建session的需要,否则请尽量使用request.getSession(false)。则如果“当前用户的会话对象”为空,则返回null(即不自动创建会话对象)。