您的位置:首页 > 编程语言 > Java开发

struts 2中当SESSION过期后返回登陆页面

2011-03-20 15:37 162 查看
在struts2+spring+hibernate 的体系中,经常要遇到的一个问题就是当用户登陆后,SESSION超过指定的时间后,

当用户再点某个连接时,系统会自动返回到登陆的页面。在实现时候,由于是STRUTS2,因此可以充分利用拦截器。

拦截器示例代码如下

ActionContext ctx = ActionContext.getContext();

Map session = ctx.getSession();

Action action = (Action)actionInvocation.getAction();

if (action instanceof LoginSystem) {

return actionInvocation.invoke();

}

String userName = (String)session.get(USER_NAME);

if(userName == null)

{

return LOGIN;

} else {

return actionInvocation.invoke();

}

要注意的,由于要排除登陆这个ACTION,所以要用 if (action instanceof LoginSystem) { 这句去判断,

因为登陆前会执行这个拦截器,这时SESSION肯定为空,就不能再跑去显示“SESSSION超时”这个页面了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: