多个Spring MVC拦截器怎么从afterCompletion跳出来

黎某人 2014-07-29 10:21:40
项目里有几个拦截器,用来做不同功能访问控制,但是当我的页面抛出异常后, 这几个拦截器里的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);
}
}


怎么才能当一个页面发生异常后 只抛出一次异常
...全文
354 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余草 2014-07-29
  • 打赏
  • 举报
回复
顶你,给 你添加人气,mvc的拦截器我还没有使用过呢
MiceRice 2014-07-29
  • 打赏
  • 举报
回复
另外,你的说法不准确,异常应该是只抛出过一次,只不过你每个拦截器都根据代码输出了日志而已。 这个应该是不能绕过的。你应该只使用一个拦截器来负责输出异常日志 或者 在自定义的异常中记录下该异常是否已经被输出过。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧