当前位置: 技术问答>java相关
一个session问题,小弟百思不得其解,望各位大虾指点一二!!!
来源: 互联网 发布时间:2015-04-18
本文导语: 程序片段如下: if(session.isNew()) { session.setMaxInactiveInterval(10);//设置10秒过期 session.setAttribute("expire","10"); } else { 用一大堆session的方法计算出session存在的时间 if(存在时间>=30) { ses...
程序片段如下:
if(session.isNew())
{
session.setMaxInactiveInterval(10);//设置10秒过期
session.setAttribute("expire","10");
}
else
{
用一大堆session的方法计算出session存在的时间
if(存在时间>=30)
{
session.invalidate();
}
}
问:1:怎样算 session没有活动?
2:既然设置最大活动时间为30秒,为什么还有(存在时间>=30)删除这种做法?
注:程序代码没有逻辑错误!
if(session.isNew())
{
session.setMaxInactiveInterval(10);//设置10秒过期
session.setAttribute("expire","10");
}
else
{
用一大堆session的方法计算出session存在的时间
if(存在时间>=30)
{
session.invalidate();
}
}
问:1:怎样算 session没有活动?
2:既然设置最大活动时间为30秒,为什么还有(存在时间>=30)删除这种做法?
注:程序代码没有逻辑错误!
|
1.session没有活动,就是说session失效了,Java垃圾回收器可能将会将他
回收,用户不能再使用这个session了!
2.最大活动时间为30秒,应该是指用户相邻两次请求服务器的时间间隔,而
不是服务器执行某项操作的时间
回收,用户不能再使用这个session了!
2.最大活动时间为30秒,应该是指用户相邻两次请求服务器的时间间隔,而
不是服务器执行某项操作的时间
|
1 long getLastAccessedTime()
Returns the last time the client sent a request associated with this session, as the number of milliseconds since midnight January 1, 1970 GMT, and marked by the time the container recieved the request. 得到活动时间。
2确保删除。
Returns the last time the client sent a request associated with this session, as the number of milliseconds since midnight January 1, 1970 GMT, and marked by the time the container recieved the request. 得到活动时间。
2确保删除。
|
不明白,或者他有别的地方会改变session的time out时间,
又或者他不信任server的time out机制,所以自己去确保
会删除
又或者他不信任server的time out机制,所以自己去确保
会删除