spring boot请求异常处理并返回对应的html页面
通过之前的学习,我知道中间件可以预处理http请求并返回相应页面(比如出现404异常,可以返回一个自己编写的异常界面,而非默认使用的白板404页面,很难看)。其实spring boot也提供了这样的功能。
404异常处理:
@Controller
public class ErrorHandler404 implements ErrorController {
private static final String ERROR_PATH = "/error";
@RequestMapping(value=ERROR_PATH)
public String handleError(){
return "error/error-404";
}
@Override
public String getErrorPath() {
return ERROR_PATH;
}
}
500异常处理:
@Component
public class ErrorHandler500 implements HandlerExceptionResolver{
@Override
public ModelAndView resolveException(HttpServletRequest req, HttpServletResponse resp, Object handler, Exception ex) {
// 异常处理逻辑 goes here
return new ModelAndView("error/error-500");
}
}
以上代码中的文件路径是基于spring boot框架的文件目录结构的。
这样,两种最常见的异常个性化处理就完成了,以后也许会遇到更能多类型的异常,仍需继续学习。
总结
以上所述是小编给大家介绍的spring boot处理请求异常并返回对应的html页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
springboot springmvc抛出全局异常的解决方法
springboot中抛出异常,springboot自带的是springmvc框架,这个就不多说了. springmvc统一异常解决方法这里要说明的是.只是结合了springboot的使用而已.直接上代码,有效有用的才是ok. 1.定义异常捕获 package com.example.rest.error; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.Exce
-
浅谈Spring Boot 异常处理篇
前言 先谈谈"异常处理"这件事.下面有 2 份伪代码,对比下: // ① 基于 if/else 判断 if(deletePage(page) == E_OK){ if(registry.deleteReference(page.name) == E_OK){ if(configKeys.deleteKey(page.name.makeKey()) == E_OK){ logger.log("page deleted"); }else{ logger.log(&quo
-
Spring Boot学习入门之统一异常处理详解
前言 关于之前的一篇所讲到的表单验证中提到,如果产生错误,可以得到错误的信息,但是返回值的问题却没有考虑. 其中所提到的Controller: @RequestMapping(value = "/doRegister", method = RequestMethod.POST) public @ResponseBody User doRegister(@Valid User user, BindingResult result, Model model) { if (result.ha
-
Spring Boot统一异常处理详解
Spring Boot中默认带了error的映射,但是这个错误页面显示给用户并不是很友好. 统一异常处理 通过使用@ControllerAdvice定义统一异常处理的类,而不是在每个Controller中逐个定义. @ExceptionHandler用来定义函数针对的函数类型,最后将Exception对象和请求URL映射到URL中. @ControllerAdvice class ExceptionTranslator { public static final String DEFAULT_E
-
详解Springboot自定义异常处理
背景 Springboot 默认把异常的处理集中到一个ModelAndView中了,但项目的实际过程中,这样做,并不能满足我们的要求.具体的自定义异常的处理,参看以下 具体实现 如果仔细看完spring boot的异常处理详解,并且研究过源码后,我觉得具体的实现可以不用看了... 重写定义错误页面的url,默认只有一个/error @Bean public EmbeddedServletContainerCustomizer containerCustomizer(){ return new E
-
SpringBoot初始教程之统一异常处理详解
1.介绍 在日常开发中发生了异常,往往是需要通过一个统一的异常处理处理所有异常,来保证客户端能够收到友好的提示.SpringBoot在页面发生异常的时候会自动把请求转到/error,SpringBoot内置了一个BasicErrorController对异常进行统一的处理,当然也可以自定义这个路径 application.yaml server: port: 8080 error: path: /custom/error BasicErrorController提供两种返回错误一种是页面返回.当
-
浅谈spring boot 1.5.4 异常控制
spring boot 已经做了统一的异常处理,下面看看如何自定义处理异常 1.错误码页面映射 1.1静态页面 必须配置在 resources/static/error文件夹下,以错误码命名 下面是404错误页面内容,当访问一个不存在的链接的时候,定位到此页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Not F
-
SpringBoot添加Email发送功能及常见异常详解
1.完整的邮件发送代码 1.1.依赖包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-support</artifactId> <version>2.0.8</version> <exclusions> <exclusion> <groupId>javax.servlet</groupI
-
springboot全局异常处理详解
一.单个controller范围的异常处理 package com.xxx.secondboot.web; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import
-
Spring Boot全局异常处理解析
本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下 1.后台处理异常 a.引入thymeleaf依赖 <!-- thymeleaf模板插件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
随机推荐
- SQL 合并多行记录的方法总汇
- 学习ExtJS Column布局
- Webpack中css-loader和less-loader的使用教程
- Swift中用到extension的一些基本的扩展功能讲解
- JavaScript使用正则表达式获取全部分组内容的方法示例
- 根据身份证号码计算出生日期、年龄、性别(18位) 根据入职时间计算工龄
- 基于PHP制作验证码
- php中配置文件操作 如config.php文件的读取修改等操作
- 使用PowerShell获取当前主机内存使用量和总量的方法
- php使用curl抓取qq空间的访客信息示例
- Python递归函数定义与用法示例
- chrome下判断点击input上标签还是其余标签的实现方法
- 微信js-sdk界面操作接口用法示例
- 微信小程序开发之实现自定义Toast弹框
- 探讨PHP JSON中文乱码的解决方法详解
- js小技巧--自动隐藏红叉叉
- 详解vue-cli项目中用json-sever搭建mock服务器
- 详解linux 关机命令总结
- Android提高之BLE开发Android手机搜索iBeacon基站
- php之XML转数组函数的详解
