在拦截的时候 会遇到未登录 直接 跳转 到 login.jsp
之前做项目,用到了两种方法
(1)
ajax 异步登录
如果未登录 返回一个 restfulMessage (自定义的返回类)里面定义一个code
拦截器 如果发现未登录 返回 这个 然后判断里面的code 再window.location.href=”login.jsp”
(2)
这种 是 个人最近看到的 测试了 以下 ,发现 还不错的
就是 servlet 中 有一个 抽象类 HandlerExceptionResolver
在拦截的时候 如果发现 未登录 直接抛出这个异常
下面这个方法捕捉到这个异常
-
public
class
QADHandlerExceptionResolver
implements
HandlerExceptionResolver{
-
private
static
Logger logger = Logger.getLogger(QADHandlerExceptionResolver.
class
);
-
@Override
-
public
ModelAndView resolveException(HttpServletRequest request,
-
HttpServletResponse response, Object handler, Exception ex) {
-
logger.error(
“Catch Exception: ”
,ex);
//把漏网的异常信息记入日志
-
Object ex=request.getAttribute(“ex”);
-
if(ex instanceof myException) {
-
if(myException.getCode==”1″){
-
return
new
ModelAndView(“login”);
-
}
-
}
-
return
new
ModelAndView(“login”);
-
}
-
-
}
版权声明:本文为u012082367原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。