Spring MVC学习之——异常处理器

异常处理器

如果不加以异常处理,错误信息肯定会抛在浏览器页面上,这样很不友好,所以必须进行异常处理。

1.异常处理思路

系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图:

2.创建异常处理器

java 复制代码
@Component
public class CustomExceptionResolver implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest request,
					HttpServletResponse response, Object handler, Exception ex) {
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("message", ex.getMessage());
		modelAndView.setViewName("error");
		return modelAndView;
	}

}

3.3.测试

  • 编写controller
java 复制代码
@Controller
@RequestMapping("/account")
public class AccountController {

   @RequestMapping("/findAccount")
    public String findAccount14(Model model) {
        model.addAttribute("msg", "欢迎你 springmvc");
        //模拟异常信息
        int i = 10/0;
        return "success";
    }
}
  • 在index.jsp里面定义超链接
html 复制代码
<a href="/account/findAccount">异常处理器</a>
相关推荐
唯情于酒16 小时前
IdentityServer4学习笔记
笔记·学习
爱喝水的鱼丶16 小时前
SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第六篇:ABAP 7.40+新特性:声明语法的简化写法与兼容注意事项
运维·服务器·开发语言·学习·算法·sap·abap
小马爱打代码16 小时前
Spring源码 第七篇:Spring Boot 自动配置原理深度拆解
java·spring boot·spring
red_redemption16 小时前
自由学习记录(194)
学习
叶~小兮17 小时前
Jenkins构建生产CICD环境学习笔记
笔记·学习·jenkins
zycoder.17 小时前
rabbitmq学习demo,包含普通消息,TTL+死信队列,topic交换机三种情况,以项目形式讲解
分布式·学习·rabbitmq
星夜夏空9917 小时前
STM32单片机学习(34) —— ADC实验: ADC规则组配合DMA实现自动化转运
stm32·单片机·学习
Realdagongzai17 小时前
Linux 6.19.10 内核调度器算法详解
linux·学习·算法·spring·kernel
xxl大卡17 小时前
Redis完整详细学习笔记
redis·笔记·学习
星夜夏空9917 小时前
FreeRTOS学习(1)——裸机开发与操作系统
单片机·嵌入式硬件·学习