1.自定义异常类与自定义异常处理器

1).自定义异常类

/**
*自定义异常类继承Exception
*/
public class SysException extends Exception {private String message;@Overridepublic String getMessage() {return message;}public SysException(String message){this.message=message;}
}

2).自定义异常处理器

/*** 自定义异常处理器实现HandlerExceptionResolver接口*/
public class SysExceptionResolve implements HandlerExceptionResolver {@Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {ModelAndView mv = new ModelAndView();SysException sysException =null;if(e instanceof SysException){sysException= (SysException) e;}else {sysException = new SysException("服务器进入二次元了");}mv.addObject("message",sysException.getMessage());mv.setViewName("error");return mv;}
}

2.配置自定义异常处理器和编写error友好界面

1). 在resources目录下的xml文件中配置bean

 <!--配置自定义异常处理器--><bean id="sysExceptionResolve" class="cn.itcast.controller.utils.SysExceptionResolve"></bean>
<!--视图解析器--><bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="suffix" value=".jsp"></property></bean>
 

2).编写error友好界面

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head><title>异常界面</title>
</head>
<body><h3>${message}</h3>
</body>
</html>

3.测试结果

测试结果的前台代码

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<body>
<h2>Hello World!</h2><a href="/user/exception">Exception测试</a>
</body>
</html>

测试结果的后台代码

@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("/exception")public String testException() throws SysException {System.out.println("testException...");try {int a = 10/0;} catch (Exception e) {e.printStackTrace();throw new SysException("查询数据出错了");}return "success";}
}

转载于:https://www.cnblogs.com/georgeJavaEE/p/9782708.html

springmvc全局异常处理相关推荐

  1. springmvc全局异常处理ControllerAdvice区分返回响应类型是页面还是JSON

    springmvc全局异常处理ControllerAdvice区分返回响应类型是页面还是JSON 参考文章: (1)springmvc全局异常处理ControllerAdvice区分返回响应类型是页面 ...

  2. SpringMVC 全局异常处理的简单应用

    2019独角兽企业重金招聘Python工程师标准>>> 在SpringMVC框架的项目开发过程中,你还在使用 try{} catch(){} 输出异常吗?,那样你就真的OUT了,Sp ...

  3. SpringMVC 全局异常处理,返回json

    2019独角兽企业重金招聘Python工程师标准>>> 1.在spring-mvc.xml中增加配置: 比如我的freemarker视图定义的是:/WEB-INF/template ...

  4. springMVC 全局异常处理

    spring3.0注解很方便强大,所以更多的开发者都倾向于用注解来代替原来繁琐的配置,而对于异常也有相应的注解,我个人并不觉得在配置文件中配置全局异常很麻烦,如果整个项目都用了注解,而你再用配置就显得 ...

  5. springmvc高级(拦截器,全局异常处理,文件上传)

    SpringMVC 1.文件上传 文件上传: 指的就是将用户本地计算机中文件上传到服务器上的过程称之为文件上传 1).文件上传编程步骤 # 1.项目中引入相关依赖 <dependency> ...

  6. bean加载时调用@value时会出现空指针异常_SpringMVC全局异常处理机制

    SpringMVC全局异常处理 SpringMVC除了可以做URL映射和请求拦截外,还可以做全局异常的处理.全局异常处理可能我们平时比较少机会接触,但是每个项目都肯定会做这个处理.比如在上一间公司,是 ...

  7. JSON和几个的全局异常处理

    目录 一.SpringMVC对JSON的支持 1.json的各种场景 二.SpringMVC的全局异常处理的3种形式 1.非全局异常处理问题演示 ① 为什么要全局异常处理 ② 异常处理思路 ③ Spr ...

  8. 从零开始学习springmvc(5)——Spring国际化和全局异常处理

    [项目地址] 从零开始学习springmvc 如果觉得有用可以关注一下公众号:码字不易,求赞求关注 五.Spring国际化和全局异常处理 五.Spring国际化和全局异常处理 5.1 国际化介绍 5. ...

  9. SpringMVC之JSON和全局异常处理

    目录 一.json解析 json的形式 SpringMVC框架如何产生上述三种形式的数据? 1.导入pom依赖             Jackson 2.配置SpringMVC.xml 配置适配器 ...

最新文章

  1. java重定向带参数_急 求助重新封装重定向带参数问题
  2. 百度飞桨成为北京市首个AI产业方向创新应用平台
  3. 海洋主题绘画_神奇宝贝:海洋生物的艺术世界绘画比赛获奖作品展来啦!
  4. ubuntu安装javahadoop
  5. 如何根据用户IP得到用户所在位置。
  6. linux 编译查看链接库详情,Linux环境下的编译,链接与库的使用
  7. img = img1*mask + img2*(1-mask) How do that ?
  8. 【干货】60 余家免费正版图片网站
  9. 2017极客大奖评选进行时:年度十大消费科技产品花落谁家
  10. 【DIY】自动鱼缸控制系统——【三】
  11. #边学边记 必修4 高项:对事的管理 第六章 项目质量管理 质量管理基础
  12. 在windows 2003系统上安装诺基亚pc套件以及笔记本通过PC套件上网
  13. 高级会计职称计算机考什么,会计高级职称考哪些科目
  14. 6.无线射频基础知识介绍_无线射频工作原理
  15. 华为mate40pro有没有鸿蒙,mate40pro不能升级鸿蒙吗?我啥也不懂,完蛋了
  16. 正斜杠 “/” 与反斜杠 “\”辨析
  17. scala中val function
  18. 嵌入式驱动工程师学习路线【建议收藏】
  19. Android应用添加谷歌登录(Google Sign In)
  20. word选中段尾不选回车符

热门文章

  1. 【论文笔记】Question Answering over Freebase with Multi-Column Convolutional Neural Networks
  2. 月薪20k+的Android面试都问些什么?完整PDF
  3. 杭电 2022 海选女主角
  4. VS注释提示英文变中文的方法
  5. Android 快速为背景添加方格线
  6. 构建面向未来的前端架构
  7. 2022 manjaro安装中文输入法
  8. 户外直播信号差,老出现卡顿现象怎么办?
  9. SSD固态硬盘特性术语bit位设置
  10. 关于java的搞笑段子_让人笑到抽筋的10条搞笑段子