解决方案 »

  1.   

    写一个session监听器 实现ServletContextListener,重写sessionDestroyed() 当session后期就去触发该事件 ,然后 在里面做跳转
      

  2.   

    我是这样写的,你的意思是把我写得这个变成实现ServletContextListener的类吗,然后在里面写判断session的代码
      

  3.   

    public class SessionIterceptor extends AbstractInterceptor {
    @Autowired UserDao userDao; @Override
    public String intercept(ActionInvocation actionInvocation) throws Exception {
            Users u =(Users) ServletActionContext.getRequest().getSession(true).getAttribute("loginuser");
            if(u==null){
             String userName = SecurityUtils.getSubject().getPrincipal().toString();
             u = userDao.findUserByName(userName);
             ServletActionContext.getRequest().getSession().setAttribute("loginuser",u);
              
            }
            if (u == null) {
                return "globleindexaction";  
            } else {  
                return actionInvocation.invoke();
            } 
    }}
      

  4.   

    这怎么会一样呢???你这个是拦截器呀,,我要是不发送请求,,就不会走你的请求,,我的意思是 用一个监听器 时时刻刻监听你的session状态,,,sessionDestroyed 这个是session 销毁调用的方法,,,你不是正是想这样吗??当session销毁 那我就直接跳到未登录页面。。
      

  5.   

    进入登录方法带个参数值targetUrl,登录成功之后跳转到targetUrl,如果targetUrl为空则跳转到首页。
      

  6.   

    在你的过滤器中可以获取到你传过来的url。
    将这个url以隐藏的形式传到login页面,成功登陆后跳转到这个url就可以了。
      

  7.   

    在web.xml里配置404 500之类的节点吧