1.session其实就是一个Map,key=value,通过session.getAttribute("name");获得session中设置的参数
2.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?
从session不活动的时候开始计算,如果session一直活动,session就总不会过期。从该Session未被访问,开始计时; 一旦Session被访问,计时清0;
3.设置session的失效时间
a)web.xml中
30
b)在程序中手动设置
session.setMaxInactiveInterval(30 * 60);//设置单位为秒,设置为-1永不过期
c)tomcat也可以修改session过期时间,在server.xml中定义context时采用如下定义:
4.如何判断session过没过期
1.一个是根据 if(session.getAttribute('user')==null)判断是否为空
2.另一个判断session不为空的方法:
request.getSeesion(boolean)方法,这个方法里面传了一个boolean值,
这个值如果是true,那么如果当前的request的session不可用,那么就创建新的会话,如果存在就返回当前的会话。
如果参数是false,那么在request的当前会话不存在的时候就返回null。
这样我们就可以很容易的联想到这个所谓的request的当前会话是否存在和session过期的联系,所以我们就可以“近似地”认为session