日期:2014-05-20  浏览次数:20662 次

AJAX、Session之间的问题。求达人。
ajax一直循环请求,这样做session就不超时了。
我想问,我想达到让session超时,而且ajax还要一直发送请求,局部刷新。
我做的是 5分钟没有请求,session超时,现在ajax一直发送请求,所以我悲剧了。
求解,我看说写一个过滤器。。本人愚昧,求详解。

------解决方案--------------------
过滤器可以做。
要设计成这个样子:

请求进过滤器后,取请求对应的Session(没有则新开Session,并把时间戳记录下来),取Session中记录的时间戳。
如果根据该记录,已经超时,则session.invalidate()废除Session,并返回相应错误显示信息给用户。
如果当前请求是Ajax发的局部刷新请求,filterChain.doFilter()放行。
如果当前请求是用户所发,刷新Session中的时间戳记录,filterChain.doFilter()放行。

代码楼主自己尝试下,有问题再交流...