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.测试

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

   @RequestMapping("/findAccount14")
    public String findAccount14(Model model) {
        model.addAttribute("msg", "欢迎你 springmvc");
        //模拟异常信息
        int i = 10/0;
        return "success";
    }
}
  • 在index.jsp里面定义超链接
html 复制代码
<a href="/account/findAccount14">异常处理器</a>
相关推荐
gentle_ice7 分钟前
leetcode——矩阵置零(java)
java·算法·leetcode·矩阵
whisperrr.1 小时前
【JavaWeb06】Tomcat基础入门:架构理解与基本配置指南
java·架构·tomcat
火烧屁屁啦2 小时前
【JavaEE进阶】应用分层
java·前端·java-ee
m0_748257462 小时前
鸿蒙NEXT(五):鸿蒙版React Native架构浅析
java
我没想到原来他们都是一堆坏人2 小时前
2023年版本IDEA复制项目并修改端口号和运行内存
java·ide·intellij-idea
bing_1583 小时前
Redis 的缓存穿透、缓存击穿和缓存雪崩是什么?如何解决?
redis·spring·缓存
Suwg2094 小时前
【由浅入深认识Maven】第1部分 maven简介与核心概念
java·maven
花心蝴蝶.4 小时前
Spring MVC 综合案例
java·后端·spring
组合缺一6 小时前
Solon Cloud Gateway 开发:Helloword
java·gateway·solon
奕辰杰9 小时前
关于使用微服务的注意要点总结
java·微服务·架构