SpringMVC异常处理

这篇具有很好参考价值的文章主要介绍了SpringMVC异常处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

8.SpringMVC异常处理

1.1 异常处理的思路

系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。

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

SpringMVC异常处理

1.2 异常处理两种方式

① 使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver

② 实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器

1.3 简单异常处理器SimpleMappingExceptionResolver

SpringMVC已经定义好了该类型转换器,在使用时可以根据项目情况进行相应异常与视图的映射配置

<!--配置简单映射异常处理器-->
    <bean class=“org.springframework.web.servlet.handler.SimpleMappingExceptionResolver”>    <property name=“defaultErrorView” value=“error”/>     默认错误视图
    <property name=“exceptionMappings”>
        <map>		            异常类型                      错误视图
            <entry key="com.lfs.exception.MyException" value="error1"/>
            <entry key="java.lang.ClassCastException" value="error2"/>
        </map>
    </property>
</bean>

1.4 自定义异常处理步骤

①创建异常处理器类实现HandlerExceptionResolver

public class MyExceptionResolver implements HandlerExceptionResolver {
    /*
        参数Exception:异常对象
        返回值ModelAndView:跳转到错误视图信息
     */
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, 				HttpServletResponse httpServletResponse, Object o, Exception e) {
        //处理异常的代码实现
        //创建ModelAndView对象
        ModelAndView modelAndView = new ModelAndView();
        
        if(e instanceof MyException){
            modelAndView.addObject("info","自定义异常");
        }else if(e instanceof ClassCastException){
            modelAndView.addObject("info","类转换异常");
        }
        modelAndView.setViewName("error");
        return modelAndView;
    }
}

②配置异常处理器

<!--自定义异常处理器-->
<bean class="com.lfs.resolver.MyExceptionResolver"/>

③编写异常页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>通用的错误提示页面</h1>
    <h1>${info}</h1>
</body>
</html>

④测试异常跳转

@RequestMapping("/quick22")
@ResponseBody
public void quickMethod22() throws IOException, ParseException {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
    simpleDateFormat.parse("abcde");
}

1.5 知识要点

异常处理方式

配置简单异常处理器SimpleMappingExceptionResolver

自定义异常处理器

自定义异常处理步骤文章来源地址https://www.toymoban.com/news/detail-431398.html

①创建异常处理器类实现HandlerExceptionResolver

②配置异常处理器

③编写异常页面

④测试异常跳转

到了这里,关于SpringMVC异常处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springMVC--中文乱码处理(新思路--化繁为简)

    前端页面在提交中,可能会出现中文。为了防止前端传入的中文数据出现乱码问题,我们需要使用Spring提供的编码过滤器来统一编码。 要使用编码过滤器,需要在web.xml中进行过滤器配置。 我们也可以选择自己进行配置过滤器。 当表单提交数据为中文时,会出现乱码,为了更

    2024年02月15日
    浏览(45)
  • SpringMVC之异常处理器

    SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver。 HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver(默认的)和 SimpleMappingExceptionResolver(自定义的)。 这里配置了两个异常,出现其中一个异常后跳转到error页面。 以上就是异

    2024年02月10日
    浏览(37)
  • SpringMVC Day 09 : 异常处理

    在Web应用程序开发中,我们经常会遇到各种各样的错误和异常情况。那么如何有效地捕获和处理这些异常呢?本文将介绍Spring MVC中的异常处理机制,帮助您构建更稳定、可靠的Web应用程序。 1、新建项目,结构如下 2、导入依赖  3、配置 web.xml  用于配置 Servlet 的映射和加载

    2024年02月06日
    浏览(39)
  • 13、SpringMVC之异常处理器

    创建名为spring_mvc_exception的新module,过程参考9.1节和9.5节 SpringMVC 提供了一个处理控制器方法执行异常的接口:HandlerExceptionResolver HandlerExceptionResolver 接口的实现类有:DefaultHandlerExceptionResolver 和 SimpleMappingExceptionResolver 实际工作中,有时使用 SimpleMappingExceptionResolver 异常解析器

    2024年02月05日
    浏览(46)
  • springmvc统一异常处理拦截器

    使用@RestControllerAdvice+@ExceptionHandler实现 也可以使用@ControllerAdvice+@ResponseBody+@ExceptionHandler实现 创建一个异常处理的类,放在config包下  组件类:  也可以让不同的异常返回不同的结果,捕获什么异常由@ExceptionHandler的value属性决定,传入一个类对象(可以通过反射获得)  

    2024年02月15日
    浏览(40)
  • SpringMVC(四、异常处理和综合练习)

    作者:大三的土狗 专栏:SSM 框架 异常类有两个主要的子类:IOException 类和 RuntimeException 类。 异常处理的思路 ​ 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后 者主要通过规范代码开发、测试等手段减少运行时异常的发

    2023年04月26日
    浏览(35)
  • 【SpringMVC】JSON注解&全局异常处理机制

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是 Java方文山 ,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Spring MVC》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进Spring

    2024年02月08日
    浏览(37)
  • SpringMVC 的三种异常处理方式详解

    目录 1. 什么是异常 2. 为什么要全局异常处理 3. SpringMVC异常分类 4. 异常处理思路 5. 三种异常处理方式示例 ① 配置 SimpleMappingExceptionResolver 处理器 ② 实现 HandlerExceptionResolver 接口 ③ 使用@ControllerAdvice+@ExceptionHandler实现全局异常 6. 响应封装类         见字如意,就是编码

    2024年02月08日
    浏览(39)
  • SpringMVC拦截器和异常处理机制

    SpringMVC拦截器类似于过滤器,用于进行预处理和后处理 将拦截器按照一定顺序连接成一条链,就是拦截器链 创建拦截器类实现HandlerInterceptor接口 配置拦截器 测试拦截器的拦截效果 三个方法的执行:在配置文件中依次配置两个拦截器分别为1和2,则执行顺序是:1的 preHandle

    2024年02月16日
    浏览(54)
  • SpringMVC之JSON返回及异常处理机制

    目录 一、JSON处理 1.1 导入依赖 1.2 配置Spring-mvc.xml 1.3 @ResponseBody注解使用 ​编辑 1.4 Jackson 1.4.1 定义 1.4.2 用途  1.4.3 用法  1.4.4 常用注解 1.5 作用 二、统一异常处理 2.1 为什么要全局异常处理? 2.2 异常处理思路 2.3 SpringMVC异常分类 2.4 综合案例 2.4.1 异常处理方式一 2.4.2 异常处

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包