iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringMVC基于配置的异常处理器怎么用
  • 336
分享到

SpringMVC基于配置的异常处理器怎么用

2023-06-30 16:06:47 336人浏览 八月长安
摘要

这篇文章主要介绍了springMVC基于配置的异常处理器怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springmvc基于配置的异常处理器怎么用文章都会有所收获,下面我们一起来看看吧。一、基于配置的异常

这篇文章主要介绍了springMVC基于配置的异常处理器怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springmvc基于配置的异常处理器怎么用文章都会有所收获,下面我们一起来看看吧。

    一、基于配置的异常处理

    SpringMVC 提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver。

    HandlerExceptionResolver接口的实现类有:

    DefaultHandlerExceptionResolver,这个是默认使用的处理器,之前遇到的一些异常,其实springMVC 都已经给我们处理过了。

    SimpleMappingExceptionResolver,这个可以让我们自定义异常处理。当出现指定的异常,可以设置返回新的视图。

    使用SimpleMappingExceptionResolver,在springMVC的配置文件中:

    <!--配置异常处理-->  <bean class="org.springframework.WEB.servlet.handler.SimpleMappingExceptionResolver">      <property name="exceptionMappings">          <props>              <prop key="java.lang.ArithmeticException">error</prop>          </props>      </property>  </bean>

    示例里使用的一个处理运算异常的类ArithmeticException,里面的值 error 表示异常后跳转的视图。

    对应的,新建一个error.html页:

    <!DOCTYPE html><html lang="en" xmlns:th="Http://www.thymeleaf.org"><head>    <meta charset="UTF-8">    <title>error</title></head><body>出现错误</body></html>

    接下来,造一个异常:

    @RequestMapping("/testExceptionHandler")  public String testExceptionHandler() {      System.out.println(1/0);      return "success";  }

    正常情况下这个处理器会跳转到 success 页,但是里面有个 1/0的异常,所以会按照配置跳转到 error 页。

    重新部署,测试一下,访问http://localhost:8080/springmvc/testExceptionHandler:

    SpringMVC基于配置的异常处理器怎么用

    成功跳转到 error 页。

    储存异常信息

    此外,还可以继续属性exceptionAttribute,设置一个key用来存放异常信息,默认存在当前的请求域中:

    <!--配置异常处理-->  <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">      <property name="exceptionMappings">          <props>              <prop key="java.lang.ArithmeticException">error</prop>          </props>      </property>      <!--exceptionAttribute属性设置一个属性名,将出现的异常信息在请求域中进行共享-->      <property name="exceptionAttribute" value="ex"></property>  </bean>

    那么在 error 页中就可以使用到ex来获取异常信息了。

    <!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head>    <meta charset="UTF-8">    <title>error</title></head><body>出现错误<p th:text="${ex}"></p></body></html>

    重新部署,刷新下页面:

    SpringMVC基于配置的异常处理器怎么用

    二、基于注解的异常处理

    springmvc 同样也提供了一套注解,通过注解方式也可以实现上述的异常处理。

    新建一个控制器 ExceptionController:

    //@ControllerAdvice将当前类标识为异常处理的组件@ControllerAdvicepublic class ExceptionController {    //@ExceptionHandler 用于设置所标识方法处理的异常    @ExceptionHandler(value = {ArithmeticException.class, NullPointerException.class})    public String testException(Exception ex, Model model){        // ex表示当前请求处理中出现的异常对象,放到请求域中        model.addAttribute("ex", ex);        return "error";    }}

    @ControllerAdvice将当前类标识为异常处理的组件。

    ex表示当前请求处理中出现的异常对象,用Model放到请求域中。

    现在注释掉配置文件里的处理器,重新部署下,刷新http://localhost:8080/springmvc/testExceptionHandler:

    SpringMVC基于配置的异常处理器怎么用

    依然可以。

    关于“SpringMVC基于配置的异常处理器怎么用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringMVC基于配置的异常处理器怎么用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

    --结束END--

    本文标题: SpringMVC基于配置的异常处理器怎么用

    本文链接: https://www.lsjlt.com/news/330372.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • SpringMVC基于配置的异常处理器怎么用
      这篇文章主要介绍了SpringMVC基于配置的异常处理器怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC基于配置的异常处理器怎么用文章都会有所收获,下面我们一起来看看吧。一、基于配置的异常...
      99+
      2023-06-30
    • SpringMVC基于配置的异常处理器
      目录一、基于配置的异常处理储存异常信息二、基于注解的异常处理一、基于配置的异常处理 SpringMVC 提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExcep...
      99+
      2024-04-02
    • SpringMvc异常处理器怎么实现
      这篇文章主要讲解了“SpringMvc异常处理器怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringMvc异常处理器怎么实现”吧! Spri...
      99+
      2024-04-02
    • SpringBoot怎么配置全局异常处理器捕获异常
      本篇内容主要讲解“SpringBoot怎么配置全局异常处理器捕获异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么配置全局异常处理器捕获异常”吧!1.前言任何系统,我们不...
      99+
      2023-07-05
    • 使用SpringMVC怎么实现一个全局异常处理器
      本篇文章给大家分享的是有关使用SpringMVC怎么实现一个全局异常处理器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先,创建一个自定义的异常类public cl...
      99+
      2023-05-31
      springmvc 全局异常处理器
    • Spring MVC项目中的异常处理怎么配置
      这篇文章主要介绍“Spring MVC项目中的异常处理怎么配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring MVC项目中的异常处理怎么配置”文章能帮助大家解决问题。...
      99+
      2023-06-30
    • ASP.NET MVC基于异常处理的解决方法
      今天就跟大家聊聊有关ASP.NET MVC基于异常处理的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。EntLib的异常处理应用块(Exception Handling Ap...
      99+
      2023-06-17
    • SpringBoot配置全局异常处理器捕获异常详解
      目录1.前言2.全局异常并处理的方法一(@ControllerAdvice 和 @ExceptionHandler)3.全局异常并处理的方法二 (AOP)总结1.前言 任何系统,我们...
      99+
      2023-05-14
      spring boot全局异常处理 springboot捕获异常 springboot异常处理机制
    • 详解SpringMVC的拦截器与异常处理机制
      目录1.SpringMVC拦截器1.1拦截器(interceptor)的作用1.2拦截器和过滤器的区别1.3拦截器的快速入门1.4多拦截器操作1.5拦截器方法说明2.SpringMV...
      99+
      2024-04-02
    • SpringBoot配置GlobalExceptionHandler全局异常处理器案例
      1. 创建全局异常处理器类GlobalExceptionHandler @ControllerAdvice: 定义统一的异常处理类,捕获 Controller 层抛出的异常。如果添加...
      99+
      2024-04-02
    • 浅谈什么是SpringBoot异常处理自动配置的原理
      异常处理自动配置 ErrorMvcAutoConfiguration自动配置类自动配置了处理规则,给容器中注册了多种组件 errorAttributes组件,类型为DefaultEr...
      99+
      2024-04-02
    • Java异常处理try catch的基本使用
      目录1. 异常1.1 try…catch异常处理1.2 多catch并行处理1.3 throw和throws 关键字的使用1.4 finally代码块1.5 Runti...
      99+
      2024-04-02
    • Java异常处理try catch的基本用法
      try catch介绍 我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这是因为Java提供了一个“捕获”异常的的处理器(处理器)对异常情况进行处理。 ...
      99+
      2024-04-02
    • rpc调用异常怎么处理
      处理 RPC 调用异常的方法取决于具体的情况和所使用的 RPC 框架。以下是一些常见的处理方法: 异常捕获和处理:在发起 RPC...
      99+
      2023-10-23
      rpc
    • SpringMVC拦截器和异常处理器使用示例超详细讲解
      目录拦截器1、拦截器的配置2、拦截器的三个抽象方法3、多个拦截器的执行顺序异常处理器1、基于配置的异常处理2、基于注解的异常处理拦截器 1、拦截器的配置 SpringMVC中的拦截器...
      99+
      2024-04-02
    • 怎么处理Java中的异常
      这篇文章主要讲解了“怎么处理Java中的异常”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么处理Java中的异常”吧!异常与error介绍下面还是先让我们来看一下基本概念吧! 异...
      99+
      2023-06-16
    • 零基础入门SpringMVC拦截器的配置与使用
       在SpringMVC中 我们说到了拦截器 , 它会在映射处理器(HandleMapping)执行时检查我们访问的地址是否配置拦截器 , 在拦截器中实现一些功能 &nbs...
      99+
      2024-04-02
    • 基于LAMP的cacti安装和配置&&问题处理(二)
      基于LAMP的cacti安装和配置&&问题处理(二)在完成了lamp及cacti安装之后,我们需要对cacti进行配置工作,在此之前,我们观察下数据库变量情况。截图如下:登入数据库,查看变量...
      99+
      2024-04-02
    • Java异常处理try catch怎么用
      这篇文章将为大家详细讲解有关Java异常处理try catch怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这...
      99+
      2023-06-21
    • 关于WCF异常处理解决方案是怎样的
      这期内容当中小编将会给大家带来有关关于WCF异常处理解决方案是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。异常处理在我们的程序中是不可缺少的,异常可以反馈我们信息,如果还不知道WCF异常的朋友请看...
      99+
      2023-06-17
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作