本帖最后由 acm365 于 2014-04-08 14:22:24 编辑

解决方案 »

  1.   

    在HttpSessionListener的sessionDestroyed()方法中怎样实现跳转
      

  2.   

    过滤器是在请求的时候才可以判断Session再跳转,我要做的是Session销毁的时候自动跳转登录页面
      

  3.   

    Session销毁的时候,做个判断呗!
    if(session["字段名"].ToString()=="")
    {
        //跳转语句
    }
      

  4.   

    在HttpSessionListener的sessionDestroyed()中得不到怎样得到response对象?
      

  5.   

    哥们你这是想要搭框架么?
    在 spring SpringSecurity 的 http 标签中定义
    <session-management invalid-session-url="/login.jsp?error_code=1" 
                                session-authentication-strategy-ref="sas">   
            </session-management> 
    其中的sas也是xml定义的一个bean,他指向我后台定义的一个类,实现了MessageSourceAware 在 onAuthentication方法了吗做了一些自己的事情
      

  6.   

    我项目中用到SpringSecurity,现在要做的是Session过期后页面自动跳转到登录页面
      

  7.   

    上面说了按照 我那样配置 超时之后会跳到 login.jsp?error_code=1 你改成自己的就好了
      

  8.   

    可以把MessageSourceAware的实现类贴出来参考下吗
      

  9.   

    可以把MessageSourceAware的实现类贴出来参考下吗
      

  10.   

    用户一段时间没活动页面,session过期了。此时页面还是原来的页面。除非用户做了动作(发送请求),此时由于session过期,在拦截器中判断session,没有session跳转到登陆页面。
      

  11.   

    那还是在请求的时候才跳转到登录页面的,我要做的是Session过期后,自动跳转到登录页面
      

  12.   

    那还是在请求的时候才跳转到登录页面的,我要做的是Session过期后,自动跳转到登录页面汗。你做这个事情没点意义,而且不能实现,你想,request都没有 又何来的跳转呢?
      

  13.   

    那还是在请求的时候才跳转到登录页面的,我要做的是Session过期后,自动跳转到登录页面汗。你做这个事情没点意义,而且不能实现,你想,request都没有 又何来的跳转呢?
    只有request,没有response可以实现跳转吗
      

  14.   

    要么就用websockect长连接,要么就在页面轮询,想省略用户的操作而实现跳转,有点违背http协议的初衷了
      

  15.   

    session过期后,浏览器是做不了操作的。只有下次浏览器重新发送请求的时候,你可以写个过滤器判断下。然后在过滤器里面跳转
      

  16.   

    注册侦听session死亡的方式,他不是拦截器,更没有请求,自然无法获取request或response,无法实现跳转,
    一种方式(水货):页面定时请求,后台一拦截,判断是否过期,并跳转
    二种方式:这涉及到服务器与客户端的联系,众所周知http请求是无状态请求,参考:http://blog.csdn.net/lhjtianji/article/details/6928654
      

  17.   

    对session进行监听 利用websocket建立长连接,解决你的问题
      

  18.   

    最后使用filter实现,在销毁Session后,过滤所有用户操作,跳转登录页面
      

  19.   

    不现实的想法,首先既然是Session过期,那么证明这个用户曾经登录过。
    还有,如果要判断Session是否过期,客户端总要发出请求吧。多长时间一次呢?
    在这个时间段内,发送了请求Session的过期时间被重置。