ExtJS session过期,刷新页面报错

紫砂壶泡咖啡 2014-03-21 11:50:27
当session过期时,如果我点击页面上的操作,系统会提示重新登录;如果我是直接刷新页面,就报500错误。
拦截器:
public class LoginInterceptor extends AbstractInterceptor{
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Map session = invocation.getInvocationContext().getSession();
// if(!ServletActionContext.getRequest().isRequestedSessionIdValid()){
// return "login";//session过期跳转
// }
if(invocation.getAction() instanceof LoginAction || invocation.getAction() instanceof LogoutAction || invocation.getAction() instanceof ImageCodeAction || invocation.getAction() instanceof ValidCodeAction){
return invocation.invoke();
}
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
System.out.println(session.get("loginUser"));
if(session.get("loginUser") == null){
System.out.println("1111");
if(request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){
System.out.println("2222");
response.setHeader("sessionstatus", "timeout");
}
return "login";
}else{
return invocation.invoke();
}
}

}

js:
Ext.Ajax.on('requestcomplete',checkUserSessionStatus,this);
function checkUserSessionStatus(conn,response,options){
//Ext重新封装了response对象
if(response.getResponseHeader.sessionstatus){
//alert('您的登录已超时,请重新登录');
Ext.Msg.alert('提示','会话超时,请重新登录',function(){
window.location.href="login.jsp";
});
}
}

struts配置文件:
<package name="interceptor" extends="json-default">
<interceptors>
<interceptor name="login" class="interceptor.LoginInterceptor"/>
<interceptor-stack name="loginStack">
<interceptor-ref name="login">
<param name="excludeMethods">image,validCode</param>
</interceptor-ref>
<interceptor-ref name="defaultStack">
<param name="excludeMethods">image,validCode</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack"></default-interceptor-ref>
<global-results>
<result name="login" type="redirect">/login.jsp</result>
</global-results>
</package>
...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫砂壶泡咖啡 2014-03-21
  • 打赏
  • 举报
回复
自顶··········
紫砂壶泡咖啡 2014-03-21
  • 打赏
  • 举报
回复
大神快点就我,纠结半天了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧