满意答案
egiuas
2014.08.13
采纳率:53% 等级:9
已帮助:167人
在web.xml中定义一个全局过滤器拦截所有请求:自定义filter your difine filter name /* 后台代码:过滤器中获取session用户对象 如果为空,返回超时并返回一个自定义状态码,如:// 判断session里是否有用户信息 if (request.getSession().getAttribute("当前session用户对象key") == null) { // 如果是ajax请求响应头会有,x-requested-with; // 如果是安全地址不进行处理 if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest") && !this.isSafeUrl(req)) { res.setStatus(911);// 表示session timeout } else { chain.doFilter(request, res); } } else { chain.doFilter(request, res); }前台处理:在主界面加上javascript验证即可:$.ajaxSetup({ contentType : "application/x-www-form-urlencoded;charset=utf-8", complete : function(xhr, textStatus) { // session timeout if (xhr.status == 911) { alert("用户登录超时,请重新登录!"); window.location =返回登录页面url; return; } } });
查看原帖>>
00分享举报