可用javascript实现top.location="index.jsp";

解决方案 »

  1.   

    可以,用侦听器实现对session的侦听,一旦session失效就dispatch到login页
      

  2.   

    struts 的全局转发和GLOBAL_ERROR可以做到这个要求
      

  3.   

    不同意楼上所说
    session的消失是服务器行为,而出现登录页面则是客户端行为。
    b/s结构是以“请求/响应”通信为基础的,当客户端没有发出请求时,服务器不会也不可能直接向某个客户端发出信息。
    所以服务端的session消失时候,不可能立即触发客户端页面的更新。只有当客户端页面被刷新时,客户端向服务端发出请求,而服务端收到请求后,判断与该页面相对应的session己经不存在,于是响应相应的登陆页面。
    所以,偶认为“只要session消失,就出现登录页面”在b/s下不可能实现。
      

  4.   

    session中放置一个属性,如果这个属性没有了,说明session过期了,然后就可以response.sendRedirect()
      

  5.   

    goingon99() 说得非常清晰,收藏
      

  6.   

    你的问题是两个问题:
    1、当Session断开后,再点击客户端,要求能够刷新整个页面,而不是一个Frame的内容,这个应该比较容易。2、能不能只要session消失,就出现登录页面
    如果要实现这个功能,有一个笨办法可以,就是客户端通过设置cookie的数值来告诉session消失的时间,客户端使用javascript检测这个时间,如果超时,则请求登录页面。
      

  7.   

    同意  goingon99() 的意见,B/S不可能实现你的要求.
      

  8.   

    goingon99() 说得很正确。
    连这个都不理解就不要搞b/s了。
      

  9.   

    你跳转的语句改为:parent.location.href='loging.jsp';
    这样应该ok了
      

  10.   

    session的消失是服务器行为,而出现登录页面则是客户端行为。
    b/s结构是以“请求/响应”通信为基础的,当客户端没有发出请求时,服务器不会也不可能直接向某个客户端发出信息。以上的同意。所以服务端的session消失时候,不可能立即触发客户端页面的更新。只有当客户端页面被刷新时,客户端向服务端发出请求,而服务端收到请求后,判断与该页面相对应的session己经不存在,于是响应相应的登陆页面。
    所以,偶认为“只要session消失,就出现登录页面”在b/s下不可能实现。这个就不同意。可以自己在后台编写一个Timer,隔一段时间询问session是否消失。然后执行TimerTask。
    实现这个功能代价还是很大的。
    或者你自己限制session的时间。时间一到就更新页面。还可以每一次使用该session时计时归0。代价也很大。
      

  11.   

    to  showerXP(小阿!):
       老兄,TimerTask可以更新客户端页面吗?