Spring mvc 未登录 拦截跳转登陆页面

  • Post author:
  • Post category:其他


在拦截的时候 会遇到未登录 直接 跳转 到 login.jsp

之前做项目,用到了两种方法

(1)

ajax 异步登录

如果未登录 返回一个 restfulMessage (自定义的返回类)里面定义一个code

拦截器 如果发现未登录 返回 这个  然后判断里面的code  再window.location.href=”login.jsp”

(2)

这种 是 个人最近看到的  测试了 以下 ,发现 还不错的

就是 servlet 中 有一个 抽象类 HandlerExceptionResolver

在拦截的时候 如果发现 未登录 直接抛出这个异常

下面这个方法捕捉到这个异常



  1. public


    class

    QADHandlerExceptionResolver

    implements

    HandlerExceptionResolver{


  2. private


    static

    Logger logger = Logger.getLogger(QADHandlerExceptionResolver.

    class

    );


  3. @Override



  4. public

    ModelAndView resolveException(HttpServletRequest request,

  5. HttpServletResponse response, Object handler, Exception ex) {

  6. logger.error(

    “Catch Exception: ”

    ,ex);

    //把漏网的异常信息记入日志


  7. Object ex=request.getAttribute(“ex”);

  8. if(ex instanceof myException) {


  9. if(myException.getCode==”1″){



  10. return


    new

    ModelAndView(“login”);

  11. }

  12. }


  13. return


    new

    ModelAndView(“login”);

  14. }


  15. }



版权声明:本文为u012082367原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。