当session失效后重新登录成功,如何实现页面不跳转到主页而是跳转到session失效时的页面
写一个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(); } }
} 入登录方法带个参数值targetUrl,登录成功之后跳转到targetUrl,如果targetUrl为空则跳转到首页。 在web.xml里配置404 500之类的节点吧
|