JavaWeb学习之路——SpringBoot 中几种异常处理方法(四)
Spring Boot(三)
错误处理
1.自定义处理异常,返回指定界面
controller出现错误的方法中:
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}
自定义错误页面.html中:
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>出错了<span th:text="${error}"></span></body></html>
2.捕获异常,ExceptionHandler 处理方法
方法中出现异常
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}
1)Handler处理器ExceptionHandler捕获指定异常
@ExceptionHandler(value = {java.lang.NullPointerException.class})public ModelAndView excuteException(Exception e){ModelAndView mv=new ModelAndView();mv.addObject("error",e.toString());mv.setViewName("error1");return mv;}
2)跳转至error1视图
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>error1界面<span th:text="${error}"></span></body></html>
3.全局异常处理——SimpleMappingExceptionResolver类
1)通过创建一个类,添加@Configuration+@Bean注解方式可以让springboot启动时注册这个bean
SpringBoot启动时加载这个bean,发生指定错误返回指定界面
@Configurationpublic class GlobalException {@Beanpublic SimpleMappingExceptionResolver getExceptionResolver(){SimpleMappingExceptionResolver resolver=new SimpleMappingExceptionResolver();Properties mappings=new Properties();/** 参数一:异常的类型,异常类型的全名* 参数二:视图名称* */mappings.put("java.lang.NullPointerException","error1");resolver.setExceptionMappings(mappings);return resolver;}}
2)出现错误方法
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}
4.自定义异常类——HandlerExceptionResolver
1)实现HandlerExceptionResolver接口里面的方法
@Configurationpublic class GlobalException implements HandlerExceptionResolver {/*对resolveException对象进行错误类型判断*/@Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {ModelAndView mv=new ModelAndView();if (e instanceof NullPointerException){System.out.println("java.lang.NullPointerException");mv.setViewName("test");}mv.addObject("error",e.toString());return mv;}}
2)Controller里面出现异常的方法
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}
3)出现指定错误,返回指定视图html
test.html视图
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>出错了<span th:text="${error}"></span></body></html>
JavaWeb学习之路——SpringBoot 中几种异常处理方法(四)相关推荐
- JavaWeb学习之路——SpringBoot 中thymeleaf模板用法(三)
thymeleaf模板用法 thymeleaf通过它特定的语法,对HTML的标记做渲染,能够访问后台的动态数据,实现静态html界面的动态化 1.添加架包 <!--引入动态模板-->< ...
- JavaWeb学习之路——SpringBoot搭建项目框架(一)
1.使用maven创建Spring Boot项目 1)在pom.xml中修改jdk版本 <!--jdk版本--> <properties> <java.version&g ...
- JavaWeb学习之路——SpringBoot整合Mybatis(二)
1)pom文件中添加相应的jar包: <!--Mybatis启动器--><dependency><groupId>org.mybatis.spring.boot&l ...
- 【学习笔记】springboot中的全局异常处理 和@ControllerAdvice的使用
文章目录 全局异常处理 例子 @ControllerAdvice的其他使用场景 全局异常处理 系统中异常包括:编译时异常和运行时异常RuntimeException ,前者通过捕获异常从而获取异常信息 ...
- JavaWeb学习之路——SSM框架之SpringMVC(八)
SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数 前提使用springmvc注解功能,相应配置 ...
- JavaWeb学习之路——SSM框架之Spring(五)
前情提要请看JavaWeb学习之路--SSM框架之Spring(四) 整合Spring和Mybatis框架 1.在项目的 ...
- JavaWeb学习之路——SSM框架之Mybatis(三)
数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...
- SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理
在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...
- SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...
最新文章
- 获取本地System权限
- C# 16进制与字符串、字节数组之间的转换
- Vuex-状态管理模式
- Web 趋势榜: 上周不可错过的最热门的 10 大 Web 项目 - 又增加了那么多的好项目啊 - 210611...
- 计算机权限常用英语词汇,计算机英语-计算机常用英语词汇表讲课稿.pdf
- 按汇总分组/多维数据集
- 解决: Elements in iteration expect to have ‘v-bind:key‘ directives
- 注册围框html,一种可调模具围框的制作方法
- cds5516舵机控制程序_[电力世界]中的应用程序CDS
- [渝粤教育] 西南科技大学 文学概论 在线考试复习资料
- 怎么用计算机同步文件夹,DSynchronize同步电脑本地文件夹教程
- VSCode下载安装和修改插件下载位置(配置右键菜单)和更换终端
- jsp中java代码的输出,Java控制台输入,输出!-JSP教程,Java技巧及代码
- 平均销售额计算机公式,销售额是什么意思(销售额的基本计算公式)
- 【Linux】Ubuntu20.04 无法访问 http://cn.archive.ubuntu.com 问题记录解决
- android天气api接口,[Android] 免费天气预报接口
- 面试分享:一年经验初探阿里巴巴前端社招
- TreeGrid插件简练了解使用
- pyhton的tkinter制作简易口算训练器
- dell Precision 3550 更换固态硬盘
热门文章
- 向一个无法连接的网络尝试了一个套接字操作_python3从零学习-5.8.1、socket—底层网络接口...
- c语言实现辗除法,辗除法什么东西哦?
- php set error handler,php的set_error_handler正确用法
- Android 利用sharepreference保存应用程序状态
- 五十四、快速上手uniapp
- Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务
- 从ICCV 2021看夜间场景自监督深度估计最新进展
- 系统调研450篇文献,微软亚洲研究院推出超详尽语音合成综述
- 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击
- “人工智能创新大讲堂”全日程发布 | 听大咖畅谈智能社会