文档章节

Spring MVC 全局异常处理(1) --SimpleMappingExceptionResolver

博为峰教研组
 博为峰教研组
发布于 2017/03/21 22:31
字数 439
阅读 63
收藏 0

我们经常会遇到一些设计的不好的应用,当出现一些未知异常时,就显示一个打印着错误堆栈的网页。看到这些错误堆栈信息往往用户都会一头雾水,我们会抱怨这个设计实在太不友好了。而且错误堆栈信息由于暴露了后台方法的调用关系,对应用来说这是有一定潜在风险的。虽然在web.xml中可以配置处理异常的jsp页面,但这个还是远远不够的。SpringMVC对错误处理提供了更好的解决方案。

在SpingMVC的web应用中,有两种处理异常的方法。一种是使用HandlerExceptionResolver接口;一种是在Controller类内部使用@ExceptionHandler注解。使用HandlerExceptionResolver接口可以实现全局异常控制,并且SpringMVC提供了一个默认的实现类SimpleMappingExceptionResolver。今天小博老师就给大家介绍一下该类的使用方法。

比如,我们应用中定义了一个异常类BwfException,我们希望无论什么时候出现该异常就跳转到预定义的页面:/WEB-INF/views/error/BwfExceptionView.jsp。那么spring的配置文件的写法如下所示:

defaultErrorView:定义默认的异常处理页面,当该没有注册对应的异常类型处理时使用。

exceptionAttribute:定义异常处理页面用来获取异常对象的变量名,如果不设置,默认名为exception。

exceptionMappings:定义需要处理的异常,用类名或完全路径名作为key,异常页面名作为value。

注意:配置的异常界面均只包括主文件名,文件路径和后缀已经在viewResolver中指定。

© 著作权归作者所有

博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
Spring MVC 系统异常处理方式及性能对比

大部分公司所用的Spring框架版本是3.1版本以下,所以今天暂时总结3.1版本的Spring-MVC异常处理方式。 一、Spring MVC处理异常有3种方式: (1)使用Spring-MVC提供的SimpleMappingExceptionR...

Candy_Desire
2014/10/17
14.7K
5
spring mvc 统一异常处理,spring security 对 AuthenticationException 异常处理失效

因配置了 spring mvc 统一异常处理,导致了 spring security 对 AuthenticationException 异常处理失效,原本用 spring security 来实现的 登入检查,权限检查 均被 spring mvc 处理掉了。 ...

LucEsape
2016/02/23
1K
1
Spring MVC 全局异常处理(1) --HandlerExceptionResolver

上一节小博老师给大家介绍了SpringMVC对异常处理的方法之一,使用默认的SimpleMappingExceptionResolver实现类。我们知道SimpleMappingExceptionResolver类是接口HandlerExceptionResolver的...

博为峰教研组
2016/12/21
110
0
SpringMVC-Freemarker异常配置

1、spring mvc的异常配置 spring mvc 提供了SimpleMappingExceptionResolver来处理异常,这里的只是由web 请求,经由controller引发的异常,无法处理freemarker的异常 2、freemarker自定义异...

xixicat
2014/02/17
3.3K
16
Spring 3 MVC深入研究[转]

一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,...

kext
2011/09/06
6.1K
4

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部