我一直在想:163邮箱是如何处理session过期的。我的session处理是在web.xml里设置session-time-out,过滤器里判断session是否为空,为空跳转到登录页面,但是这样没有相应的信息提示:比如session已过期,请重新登录。我不知道有没有更好的办法做到跟163邮箱的效果,它只是弹出一个层,邮箱不再可操作。
[b]问题补充:[/b]
谢谢各位,但我还是不知道该如何实现啊。至于用filter,我觉得无法现实啊,它不会自动实现页面的跳转,除非你点击刷新按钮的时候才能实现页面跳转。但163邮箱不用你去刷新就可以实现提示页面的显示。如果按照各位所说,用Ajax,或dwr,我不知道该如何实现,能不能再具体点。还有,如何用js函数判断session是否为空
[b]问题补充:[/b]
用户不做任何操作,如何让页面自动刷新,而且是session过期的时候才弹出一个提示信息层
[b]问题补充:[/b]
谢谢以上各位的答案,我还是没有解决。
如果真的解决不了,我只好关闭提问了
去研究下服务端推技术,也就是comet,可以实现这种需求,
dwr内置有这功能
当过滤器里判断到session为空的时候,可以重定向到一张提示“session已过期,请重新登录。”的页面
163的效果只是页面效果设计了,一个简单的思路是filter重定向的页面里加onload()事件,弹出层,如果不用刷新页面,就要用到ajax效果了。
dwr实现也是很简单的
通用的就没有特效。
想特效,就单独处理。
如果你想实现那样的效果。单独写个js方法。ajax判断session
用ajax就ok了。校内网上,用的很普遍!去看看!
赞同楼上的,自动跳转页面,新页面用onload事件,判断session是否已过期
我觉得用Ajax比较麻烦,你在当前页面头部定义refresh,让自动跳转到另外一个页面,使用onload事件就ok了
只要用onload事件判断是否session过期就好了,放两个层,如果过期就显示一个层:比如session已过期,请重新登录,另一个层将邮箱这个页面隐藏,这样就可以了。
不做任何操作!!!嘛意思?页面放着不动,到时间了自动提示session过期?
为什么不描述清楚点。
过滤器里判断下嘛
最多5行搞定..
考虑下用监听器,listener
我个人觉得应该用ajax或javascript来定时控制判断。
我这有一个简单的想法:
我也想知道用ajax如何实现
用listener来监听,每隔多长时间检查一下,看看是否过期,如果过期的话,就调用过期的页面,这个过期的页面是用ajax技术实现的,而ajax现在已经有很多的成熟框架技术了,例如dwr等,大概思路就是这样吧。 :arrow: