spring 全局处理异常

本文介绍了一种在Spring MVC框架中实现全局异常处理的方法。通过创建一个实现了HandlerExceptionResolver接口的类,可以集中处理控制器中发生的各种异常,并将错误信息展示在特定的错误页面上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          当我们启动了全局处理异常   以后 我们就不需要去抛 异常  或者处理异常了,这个类会去帮我们自动处理;它只需要实现   
HandlerExceptionResolver

这个类是要和controller是一个层次的,不然不会执行   这个全局异常 不需要我们去放在容器里面,只要我们扫到他就可以了

package com.xingxue.springmvc.web;

import org.springframework.stereotype.Component;
import org.springframework.ui.Model;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class GlobExceptionResolver implements HandlerExceptionResolver {

    //提供该方法来集中处理异常
    //ex 封装了产生异常的 信息
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {

        System.out.println("产生异常,进入了异常处理器的处理方法进行处理....");

        ModelAndView modelAndView = new ModelAndView();

        modelAndView.setViewName("error");//跳转到error异常的页面

        modelAndView.addObject("error",ex.getMessage());//这个是用来显示异常信息的,在后面我们用EL表达式将他取出来

        return modelAndView;
    }
}

给他产生一个页面  产生异常就跳转到这个页面上去   这个页面是在jsps下面的,前面的步骤见上以上

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2018/4/25 0025
  Time: 下午 4:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
系统出现异常!!!!!! ${error}
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值