当前位置: 代码迷 >> Java Web开发 >> 多个Spring MVC拦截器如何从afterCompletion跳出来
  详细解决方案

多个Spring MVC拦截器如何从afterCompletion跳出来

热度:1   发布时间:2016-04-16 22:05:43.0
多个Spring MVC拦截器怎么从afterCompletion跳出来
项目里有几个拦截器,用来做不同功能访问控制,但是当我的页面抛出异常后, 这几个拦截器里的afterCompletion全都执行了,这是怎么回事,拦截器里的代码都一样:

@Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
if (ex != null) {
    log.error("Internal Server Error:" + request.getRequestURI(), ex);
}
    }


怎么才能当一个页面发生异常后 只抛出一次异常
------解决方案--------------------
另外,你的说法不准确,异常应该是只抛出过一次,只不过你每个拦截器都根据代码输出了日志而已。

这个应该是不能绕过的。你应该只使用一个拦截器来负责输出异常日志  或者  在自定义的异常中记录下该异常是否已经被输出过。
  相关解决方案