SpringMVC框架中的异常处理机制

目录

1. 什么是异常处理?

2. SpringMVC框架中的异常处理机制是什么?

3. SpringMVC框架汇中实现异常处理的实现步骤

 4. SpringMVC框架出现异常时候的处理过程

 5. 附手写代码,并含有注释


1. 什么是异常处理?

http://t.csdn.cn/xbnUk  具体可以参考我这篇博客,个人觉得介绍都是十分详细的。

2. SpringMVC框架中的异常处理机制是什么?

答案:SpringMVC框架对异常的处理又进行了新的处理。即我们之前遇到的异常都是通过try,,,catch 的方式却解决,但是这种处理的方式是将异常的解决放在了逻辑代码中,后期看起来可能会有点混乱,而且再次进行修改的时候,比较麻烦。所以SpringMVC框架又做了新的处理:

即SpringMVC框架借鉴AOP的思想,将逻辑中的异常处理分离出来,进行了解耦合。

3. SpringMVC框架汇中实现异常处理的具体步骤

 4. SpringMVC框架出现异常时候的处理过程

 5. 附手写代码,并含有注释



!!!注意!!!

又到了睡前故事的内容了,大家选择性的看看吧。

                                       夸父逐日

远古时候,在北方荒野中有一座高耸入云的高山,在山林深处,生活着一群力大无穷的巨人。他们的首领耳朵上挂着两条金色的蛇,手里也抓着两条金蛇,他的名字叫夸父,因此这一群人就叫夸父族。夸父族人心地善良,勤劳勇敢,过着与世无争、逍遥自在的日子。


有一年,天气非常热,火辣辣的太阳直射在大地上,树木都被晒焦了,河流都被晒干枯了。人们热得难以忍受,夸父族的人纷纷死去。首领夸父很难过,他仰头望着太阳,告诉族人:“太阳太可恶了!我一定要追上太阳,将它捉住,让它听人的指挥。”族人听了,纷纷劝阻。有的人说:“你千万别去呀,太阳离我们那么远,你会累死的。”有的人说:“太阳那么热,你会被烤死的。”但是夸父决心已定,他看着愁苦不堪的族人,说:“为了大家的安乐,我一定要去! “


夸父告别了族人,向着太阳升起的方向,迈开大步,向风一样追去。太阳在空中飞快地移动,夸父在地上拼命地奔跑。他穿过一座座大山,跨过一条条河流,大地被他的脚步震得“轰轰”作响,来回摇摆。夸父跑累了,将鞋里的土抖落在地上,于是地上形成了一座大土山。夸父煮饭时,拣了三块石头架锅,这三块石头就成了三座鼎足而立的高山,有几千米高。


夸父一直追着太阳跑,眼看着离太阳越来越近,他的信心越来越强。终于,夸父在太阳落山的地方追上了太阳。一团红亮的火球就在夸父眼前,万道金光沐浴在他身上。夸父无比欢欣地张开双臂,想把太阳抱住。可是太阳炽热异常,夸父感到又渴又累。他就跑到黄河边,一口气喝干了黄河水,他又跑到渭河边,把渭河水也喝光了,但是仍不解渴。夸父又向北跑去,那里有纵横千里的大泽,大泽里的水足够夸父解渴。但是夸父还没有跑到大泽,就在半路上渴死了。


夸父临死的时候,心里充满了遗憾,他还牵挂着自己的族人,于是将自己手中的木杖扔出去。木杖落地的地方,顿时生出一片郁郁葱葱的桃林。这片桃林终年茂盛,为往来的过客遮荫,结的.鲜桃为人们解渴,让人们能够消除疲劳,精力充沛地踏上旅程。


夸父逐日的故事,反映了中国古代先民战胜千旱的愿望。夸父虽然最后牺牲了。但是他顽强的精神却不死。在中国的许多古书中,都记载了夸父逐日的相关传说,中国有的地方还将大山叫做“夸父山”,以纪念夸父。

  • 43
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 76
    评论
SpringMVC框架提供了强大的异常处理机制,可以帮助开发者处理应用程序的各种异常。具体实现方式如下: 1. 使用@ControllerAdvice注解实现全局异常处理 可以在@ControllerAdvice注解标注的类实现全局异常处理,对应的异常处理方法需要使用@ExceptionHandler注解标注。例如,下面的代码实现了对所有RuntimeException异常的全局处理: ```java @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(RuntimeException.class) public ModelAndView handleRuntimeException(HttpServletRequest request, RuntimeException ex) { ModelAndView mav = new ModelAndView(); mav.addObject("exception", ex); mav.addObject("url", request.getRequestURL()); mav.setViewName("error"); return mav; } } ``` 2. 在@Controller注解标注的类实现局部异常处理 也可以在@Controller注解标注的类实现局部异常处理,对应的异常处理方法也需要使用@ExceptionHandler注解标注。例如,下面的代码实现了对所有NumberFormatException异常的局部处理: ```java @Controller @RequestMapping("/user") public class UserController { @ExceptionHandler(NumberFormatException.class) public ModelAndView handleNumberFormatException(HttpServletRequest request, NumberFormatException ex) { ModelAndView mav = new ModelAndView(); mav.addObject("exception", ex); mav.addObject("url", request.getRequestURL()); mav.setViewName("error"); return mav; } @RequestMapping("/add") public String addUser(@RequestParam("id") int id) { // do something return "success"; } } ``` 3. 使用SimpleMappingExceptionResolver实现异常处理 还可以使用SimpleMappingExceptionResolver类实现异常处理,该类可以根据异常类型和异常映射表将异常转化为对应的视图。例如,下面的代码实现了对所有RuntimeException异常的处理: ```java <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.lang.RuntimeException">error</prop> </props> </property> </bean> ``` 总之,SpringMVC框架提供了多种方式来实现异常处理,开发者可以根据实际需求选择合适的方式来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 76
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白胡子永远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值