zoukankan      html  css  js  c++  java
  • springmvc中拦截器与springmvc全局异常处理器的问题

    最近在做一个练手的小项目,

    系统架构中用了springmvc的全局异常处理器,

    做了系统的统一异常处理。

    后来加入了springmvc的拦截器,

    为了一些需求,

    在拦截器中的 preHandle 方法 中抛出了系统自定义异常,

    当时有有个疑惑,

    就是抛出的这个异常全局异常处理器怎么处理的。

    这里的全局异常处理器时通过实现HandlerExceptionResolver这个接口实现的

    要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩意可以强转成 HandlerMethod 对象 ,然后这个对象 获取 Method对象

    1 Method method = handlerMethod.getMethod();

    然后这个 method 是系统中抛出异常的方法。

    这样理解是不正确的。

    如果是这样的话,那么我在拦截器中抛出异常的话,那么这个method应该是 preHandle,

    下面做了一个实验,

    在拦截器中抛出了异常,

    虽然是拦截器中抛出的异常,这里解析出来的method还是目标handler中的方法,

    我之前理解的这个method是任何抛出异常的方法。

    事实证明,理解错了。

  • 相关阅读:
    C语言位运算详解(转载)
    C/C++知识点
    android获取string.xml的值(转)
    C++ Primer与c++编程思想的比较(转)
    C++ 学习的网站
    C++学习网站总结(转)
    C++学习网站(转)
    C++编程学习50个经典网站 强力推荐 (转)
    JAVA反射机制(转)
    AxureRP7.0教学大纲Tutorial directory
  • 原文地址:https://www.cnblogs.com/cndota/p/5879762.html
Copyright © 2011-2022 走看看