1。判断一个session是否为空:if(session==null){} 这样算不算使用了session?这样问可能不是很清楚,那么详细些。
session都有过期时间吧,那么应该是在session被创建的时候就有一个计时器,这个时间达到过期时间的话就销毁这个session 如果用这句if(session==null)会不会重置这个计时器?
2。可不可以在session过期的时候执行一段代码,即像filter的destroy方法一样?请大家帮帮忙,谢谢,如果上述有什么不对之处,请赐教。
session都有过期时间吧,那么应该是在session被创建的时候就有一个计时器,这个时间达到过期时间的话就销毁这个session 如果用这句if(session==null)会不会重置这个计时器?
2。可不可以在session过期的时候执行一段代码,即像filter的destroy方法一样?请大家帮帮忙,谢谢,如果上述有什么不对之处,请赐教。
你要session.invalidate()以后,等到request.getSession(true)的时候才会重置.!
session如果失效想执行代码这样判断
request.getSession(false)判断它是否为null,如果为null就执行你要的操作
直接好像取不到的,可以间接来计算获得。session的TIMEOUT时间可以通过getMaxInactiveInterval来去的,
session的创建时间可以通过getCreationTime来获取,
最后一次session的访问时间可以通过getLastAccessedTime来获取这样的话,
到session销毁为止的时间=session的TIMEOUT时间-(最后访问时间-创建时间)
你也可以强制 清楚SESSION 设置SESSION时间,你的那个只是判断,并没有使用SESSION 所以并没有操作
2楼回答很好
System.out.println(request.getSession().getCreationTime());
System.out.println(request.getSession().getLastAccessedTime());分别是:6000
1299720049625
1299720060359这以什么为单位呢?? 秒 还是?