我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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基于配置的异常处理器怎么用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

    下载Word文档

    猜你喜欢

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

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

    SpringBoot怎么配置全局异常处理器捕获异常

    本篇内容主要讲解“SpringBoot怎么配置全局异常处理器捕获异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么配置全局异常处理器捕获异常”吧!1.前言任何系统,我们不
    2023-07-05

    使用SpringMVC怎么实现一个全局异常处理器

    本篇文章给大家分享的是有关使用SpringMVC怎么实现一个全局异常处理器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先,创建一个自定义的异常类/** * @Title:
    2023-05-31

    Spring MVC项目中的异常处理怎么配置

    这篇文章主要介绍“Spring MVC项目中的异常处理怎么配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring MVC项目中的异常处理怎么配置”文章能帮助大家解决问题。1. 基于配置的简单
    2023-06-30

    怎么使用whoops接管tp6的异常处理

    小编给大家分享一下怎么使用whoops接管tp6的异常处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!春节期间熟悉了TP6, 也写了一个TP6的博客程序,但系统
    2023-06-07

    云服务器配置java环境异常怎么解决的

    Java环境异常是指在运行环境中出现的错误,这些错误可能会导致程序无法正常运行。下面我们将介绍一些Java环境异常的解决方法。检查环境变量Java环境异常可能是由于环境变量的错误引起的。如果环境变量不正确,Java程序将无法正常运行。检查环境变量的方法可以使用环境变量检查器,在控制台或日志文件中查看环境变量是否正确设置
    云服务器配置java环境异常怎么解决的
    2023-10-28

    基于FeignClient怎么调用超时的处理方案

    这篇文章给大家分享的是有关基于FeignClient怎么调用超时的处理方案的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。FeignClient调用超时出现问题的前提SpringCloud间FeignClient调
    2023-06-20

    阿里云服务器网络配置异常怎么解决的

    首先,检查网络配置是否正确。当服务器出现网络配置异常时,通常会显示一些错误提示。检查网络配置是否正确可以通过检查IP地址、端口、协议等参数来实现。例如,如果服务器使用的是IPv4地址,但是实际上是IPv6地址,那么就需要修改服务器IP地址或者更改路由。其次,检查网络流量是否过大。当服务器负载过大时,会导致网络配置异常。
    阿里云服务器网络配置异常怎么解决的
    2023-10-28

    云服务器配置java环境异常怎么解决的呢

    1.确认Java环境是否正确安装在云服务器上配置Java环境时,首先需要确认Java是否已经正确安装。可以通过以下命令来检查Java是否已经安装:java-version如果Java已经安装,会显示Java的版本信息。如果没有安装,需要先安装Java。2.检查环境变量配置是否正确在安装Java后,需要配置环境变量,以便系统能够找到Java的安装路径。可以通过以下命令来检查环境变量是
    2023-10-26

    Spring IOC容器基于XML外部属性文件的Bean管理怎么配置

    本篇内容主要讲解“Spring IOC容器基于XML外部属性文件的Bean管理怎么配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring IOC容器基于XML外部属性文件的Bean管理怎
    2023-06-30

    云服务器配置java环境异常怎么解决的问题

    在本文中,我们将讨论如何处理Java环境配置异常。这包括如何检测和解决Java环境配置异常的问题,以及如何处理Java环境配置异常可能引起的问题。首先,Java环境配置异常可能会导致应用程序无法正常运行。这是因为Java环境配置可能包含了错误的变量或参数,或者配置不正确,这会导致应用程序无法正确处理特定的指令或事件。为
    云服务器配置java环境异常怎么解决的问题
    2023-10-27

    基于Python怎么实现云服务器的CDN域名远程鉴权配置

    今天小编给大家分享一下基于Python怎么实现云服务器的CDN域名远程鉴权配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
    2023-06-30

    Linux rsync怎么配置用于服务器之间传输大量的数据

    本篇内容主要讲解“Linux rsync怎么配置用于服务器之间传输大量的数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux rsync怎么配置用于服务器之间传输大量的数据”吧!Linu
    2023-06-06

    云服务器相当于什么配置的电脑啊苹果系统怎么用

    1.云服务器是什么?云服务器是一种基于云计算技术的虚拟服务器,它可以在云平台上运行,提供计算、存储、网络等服务。云服务器可以根据用户的需求进行弹性扩容和缩容,用户只需按需购买所需的计算资源,无需购买实体服务器,从而降低了成本和维护难度。2.云服务器相当于什么配置的电脑?云服务器的配置可以根据用户的需求进行灵活调整,因此无法简单地将其与某种具体的电脑配置进行比较。一般来说,云服务器的配置包括CPU、内存...
    2023-10-27

    Java异常处理中怎么写出“正确”但被编译器认为有语法错误的程序

    Java异常处理中怎么写出“正确”但被编译器认为有语法错误的程序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。文章的标题看似自相矛盾,然而我在“正确”二字上打了
    2023-06-02

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录