文档章节

springmvc异常统一处理

newworld2010
 newworld2010
发布于 2016/10/08 17:32
字数 211
阅读 44
收藏 3

所有错误统一处理,不论dao层,service层,controller层都层层向向上抛, 具体实现如下

1. spring提供的类SimpleMappingExceptionResolver

2. spring接口HandlerExceptionResolver

3. spring注解ExceptionHandler

具体实现例子

1.1   继承类SimpleMappingExceptionResolver 并初始化相关参数

1.2   在applicationContext.xml 上SimpleMappingExceptionResolver配置对应的bean和相关参数

2.1   实现HandlerExceptionResolver接口

@Component

public class MyExceptionHandler implements HandlerExceptionResolver {  
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,  Exception ex) {  
        Map<String, Object> model = new HashMap<String, Object>();  
        model.put("ex", ex);   
        if(ex instanceof BusinessException) {  
            return new ModelAndView("error-business", model);  
        }else if(ex instanceof ParameterException) {  
            return new ModelAndView("error-parameter", model);  
        } else {  
            return new ModelAndView("error", model);  
        }  
    }  
}            

3.1    自定义一个基类的业务上加入@ExceptionHandler,内容和2.1相同,其他Controller继承此基类
public class BaseController {
    @ExceptionHandler  
    public String exp(HttpServletRequest request, Exception ex) {  
        request.setAttribute("ex", ex);  
        if(ex instanceof BusinessException) {  
            return "error-business";  
        }else if(ex instanceof ParameterException) {  
            return "error-parameter";  
        } else {  
            return "error";  
        }  
    }  
}

public class OtherController extends BaseController

 

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: spring定时任务
下一篇: spring 拦截器
newworld2010
粉丝 4
博文 35
码字总数 2831
作品 0
东城
高级程序员
私信 提问
spring mvc 统一异常处理,spring security 对 AuthenticationException 异常处理失效

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

LucEsape
2016/02/23
1K
1
SpringMVC中的统一异常处理-自定义异常

https://www.cnblogs.com/shanheyongmu/p/5872442.html 我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、...

wangwei2134
08/20
0
0
Spring Cloud Spring Boot mybatis分布式微服务云架构 返回JSON格式

在上述例子中,通过统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。 本质上,只需在之...

itcloud
06/21
0
0
SpringCloud SpringBoot mybatis分布式微服务云架构返回JSON格式

在上述例子中,通过统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。 本质上,只需在之...

itcloud
08/07
0
0
springboot + shiro 权限注解、请求乱码解决、统一异常处理

springboot + shiro 权限注解、请求乱码解决、统一异常处理 前篇 后台权限管理系统 相关: spring boot + mybatis + layui + shiro后台权限管理系统 springboot + shiro之登录人数限制、登录...

wyait
06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Feign 异常处理

问题 最近在项目开发中,使用 Feign 调用服务,当触发熔断机制时,遇到了以下问题: 异常信息形如:TestService#addRecord(ParamVO) failed and no fallback available.; 获取不到服务提供方...

xiaomin0322
20分钟前
2
0
解决OSX使用oh-my-zsh后.bash_profile自定义失效

场景描述 为了使OSX自带的终端在使用上更加顺手,便安装了oh-my-zsh插件, 但发现之前在.bash_profile自定义的一些内容都失效了。 问题分析 oh-my-zsh有自己的配置文件,覆盖了.bash_profile...

SuShine
23分钟前
1
0
java中线程读取配置文件properties

配置文件在很多方面可以用到,比如数据库连接,数据库工厂方法的调用,只要在配置文件中修改即可,不用修改程序,使用起来还是很方便的。 现在演示一下通过线程读取配置文件进行反射的一种方...

寒风中的独狼
26分钟前
3
0
面向接口编程详解-Java篇

  相信看到这篇文字的人已经不需要了解什么是接口了,我就不再过多的做介绍了,直接步入正题,接口测试如何编写。那么在这一篇里,我们用一个例子,让各位对这个重要的编程思想有个直观的印...

浮躁的码农
26分钟前
3
0
NPM install -save 和 -save-dev 傻傻分不清

本文原文地址:https://www.limitcode.com/detail/59a15b1a69e95702e0780249.html 回顾 npm install 命令 最近在写Node程序的时候,突然对 npm install 的-save和-save-dev 这两个参数的使用...

翔飘飘
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部