1.关于@ControllerAdvice

@ControllerAdvice注解本身已经使用了@Component,因此@ControllerAdvice注解所标注的类将会自动被组件扫描获取到,就像带有@Component注解的类一样。另外,在带有@ControllerAdvice注解的类中,异常处理会应用到所有控制器中带有@RequestMapping注解的方法上。

2.使用示例

自定义exception:

1
2
3
@ResponseStatus(value = HttpStatus.NOT_FOUND,reason = "file not found")
public class NotFoundException extends RuntimeException {
}

  

定义ControllerAdvice

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(NotFoundException.class)
    public String NotFoundHandler()
    {
        return "error/404.html";
    }
    @ExceptionHandler(Exception.class)
    public String ErrorHandler(){
        return "error/error.html";
    }
}

  

错误页controller

1
2
3
4
5
6
7
8
9
@RequestMapping("/error404")
    public String error(){
        throw new NotFoundException();
    }
    @RequestMapping("/error")
    public String errorNotFound() throws Exception {
        throw new Exception();
    }

  

view:

在views/error目录下新增error.html和404.html

3.测试

http://localhost:8092/category/error404

http://localhost:8092/category/error

4.参考资料推荐

http://viralpatel.net/blogs/spring-mvc-exception-handling-controlleradvice-annotation/

本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/p/6933958.html,如需转载请自行联系原作者

JAVA入门[17]-ControllerAdvice处理exception相关推荐

  1. Java入门1.2.3—一个老鸟的Java学习心得

    Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌    出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...

  2. 小白记事本--JAVA入门

    JAVA的安装与环境配置 Windows传送门 java开发环境搭建与eclipse安装教程 win10环境配置传送门:win10java环境配置 2021/6/8补充:java系统学习传送门:bil ...

  3. Java入门基础及面试100题--初入门

    Java入门基础及面试100题 注:适合应届毕业生或java初入门者 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程, ...

  4. Java入门-获取MySQL数据

    Java入门-获取MySQL数据 java代码 /*** @Author 编程无忧* @Date 2022/1/13 13:17* @Desc*/ public class mysqlTest {@T ...

  5. Java 9 - 17 特性解读:​Java 13

    Java 13在2019年9月发布,这个版本引入的正式可用特性几乎没有,是我认为最无聊的版本之一.所以我们跳过Java 13直接来看Java 14吧. Switch表达式 我觉得switch表达式在日 ...

  6. Java必备:java入门、java学习

    2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 1.Java入门 1-1.Java具有那些适合在Internet环境中 ...

  7. Java入门学习笔记[狂神说Java]

    写在前面: 本文根据B站狂神说Java 与菜鸟教程 整理而来,仅供个人学习使用,如有侵权,请联系删除. 文章目录 IDEA使用 Java基础01:注释 Java基础02:数据类型 Java基础03:类 ...

  8. 一、Java入门和环境安装

    @Author : By Runsen 本专栏是零基础学java的第一篇 Java入门和环境安装(一) 文章目录 1.Java入门 1.1 了解Java 1.2 选择Java版本 1.3 下载jdk ...

  9. 计算机编程老鸟的心得,java入门123——一个老鸟java学习心得.docx

    java入门123--一个老鸟的java学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了.开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机 ...

最新文章

  1. android常用命令
  2. 没有头文件调用cpp_VS2017中同一个解决方案下不同工程的调用
  3. python实现阿里云域名绑定动态IP
  4. numpypandas补充常用示例
  5. spark java8 scala_在 Ubuntu16.04 中搭建 Spark 单机开发环境 (JDK + Scala + Spark)
  6. 电脑字体模糊_小红书上传视频模糊?做小红书视频99%的工具都在这了
  7. 谷歌浏览器安卓版_谷歌Chrome Canary 82安卓版现可复制图片到剪贴板
  8. 想学AI开发很简单:只要你会复制粘贴
  9. asp.net关于倒出excel文件
  10. SharePoint Server 2016 部署安装(七)—— 配置SharePoint Server
  11. JSP字符集编码集合
  12. 仓库管理软件,仓库管理系统,希创条码,wms仓库管理软件
  13. 12月运营/营销/市场/广告人热点营销指南!
  14. android编程实例-音乐播放器之歌词显示
  15. 浅谈Linux PMIC驱动(一)
  16. 最低仅需万元到手,Gooxi AMD Rome平台服务器特价啦
  17. 一:各种熵的定义及理解
  18. 电脑上怎么录屏并保存?进来学习一下小技巧
  19. Redis实现分布式限流(学习笔记
  20. 使用高德地图加在kml文件

热门文章

  1. Lyft开源L5自动驾驶数据集:55000个人工标注的3D注释框架,还有高清空间语义地图...
  2. JS编程建议——8:谨慎使用运算符(3)
  3. MySQL中新建用户,新建数据库,用户授权,删除用户,修改密码的相关操作
  4. IPSEC ×××主模式的九个包交换
  5. Console命令详解,让调试js代码变得更简单
  6. Eclipse SDK 4.2.2/Equinox 3.8.2 发布
  7. Go 语言编程 — 高级数据类型 — 数组
  8. ETSI GS MEC 014,UE 标识 API
  9. Python 笔试集(1):关于 Python 链式赋值的坑
  10. Devstack — screen 调试工具的使用