如何判断session[b]即将[/b]过期!
大侠们指点一二!
可以用
session.getLastAccessedTime()得到最后一次访问关联这个session的请求,
getCreationTime()得到session的创建时间
getMaxInactiveInterval()返回用户不活动session有效的最长时间
你可用(当前时间-session.getLastAccessedTime())<getMaxInactiveInterval()就代表session还没过期,
你可以判断(当前时间-session.getLastAccessedTime())即将等于getMaxInactiveInterval()的时候就是session即将过期!
我有一个想法。
新建一个类,包装这个session对象和一个session的创建时间
每个session都有一个SessionID,每个session的默认有效时间是30分钟吧,这样你就可以通过sessionID找到这个session对象的创建时间,然后用当前时间减去创建时间,你就知道这个session已经存在多久了,剩下的事情也就好办了
Servlet 提供了完整的事件框架。
你可以通过实现HttpSessionListener或HttpSessionAttributeListener来监制Session及其属性。
其它事件监制接口包括,ServletContextListener, ServletContextAttributeListener,来监控web应用程序。