Code Bye

session失效后如何实现页面不跳转到主页而是跳转到session失效时的页面

SSH框架,监听已经弄好了,每次都是跳转到主页,麻烦各位多多指点,多谢~

写一个session监听器 实现ServletContextListener,重写sessionDestroyed() 当session后期就去触发该事件 ,然后 在里面做跳转。。。
这个问题我也想知道
引用 1 楼 ch656409110 的回复:

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

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

引用 1 楼 ch656409110 的回复:

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

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();
        } 
}

}


15分
这怎么会一样呢???

你这个是拦截器呀,,我要是不发送请求,,就不会走你的请求,,

我的意思是 用一个监听器 时时刻刻监听你的session状态,,,sessionDestroyed 这个是session 销毁调用的方法,,,

你不是正是想这样吗??当session销毁 那我就直接跳到未登录页面。。


5分
进入登录方法带个参数值targetUrl,登录成功之后跳转到targetUrl,如果targetUrl为空则跳转到首页。
在你的过滤器中可以获取到你传过来的url。
将这个url以隐藏的形式传到login页面,成功登陆后跳转到这个url就可以了。
保存失效时的url路径
在web.xml里配置404 500之类的节点吧
引用

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明session失效后如何实现页面不跳转到主页而是跳转到session失效时的页面