当前位置: 首页 > news >正文

Spring MVC 全局异常处理器

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

1.异常处理思路

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

2.创建异常处理器

@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
@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里面定义超链接
<a href="/account/findAccount14">异常处理器</a>

相关文章:

  • Ajax (1)
  • 支持国密的 Web 服务器
  • 【深度学习笔记】计算机视觉——FCN(全卷积网络
  • 力扣题库第7题:接雨水
  • 01_Maven
  • uniapp小程序获取位置权限(不允许拒绝)
  • 计算机网络 八股
  • 代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集
  • 【论文笔记】Language Models are Few-Shot Learners
  • 分库分表浅析原理
  • mysql和redis的区别
  • Python爬虫之爬取并下载哔哩哔哩视频
  • 剪枝例题一道
  • 10 | MySQL为什么有时候会选错索引?
  • 如何在一个pycharm项目中创建jupyter notebook文件,并切换到conda环境中
  • 数据结构之顺序表及其实现!
  • 存算一体成为突破算力瓶颈的关键技术?
  • SpringCloud-MQ消息队列
  • 从零开始手写RPC框架(4)
  • 【操作系统学习笔记】文件管理2.1
  • 2024年上市公司合计实现营业收入71.98万亿元
  • 顾家家居:拟定增募资近20亿元,用于家居产品生产线的改造和扩建等
  • 九部门:对机动车特别是货车排放问题的监管将更加严格
  • 波音公司计划于2027年交付新版“空军一号”飞机
  • 西安碑林博物馆票价将调至85元,工作人员:10元属于改扩建期间惠民票
  • 售卖自制外挂交易额超百万元,一男子因提供入侵计算机系统程序被抓