springMVC全局异常配置

  通常开发项目时如果代码有错的话,可能会在页面中显示出详细的异常错误信息并且会定位到自己的项目代码中详细的第几行出错可能也会在展示页面中出现,这样子不利于代码的安全性。

  所以常常使用实现接口HandlerExceptionResolver的方法:

 1 /**
 2  * @author 大神爱吃茶
 3  * @Date 2020/1/10 0010 下午 16:53
 4  */
 5 @Component
 6 public class ExceptionResolver implements HandlerExceptionResolver {
 7
 8     private static Logger logger = LoggerFactory.getLogger(ExceptionResolver.class);
 9
10     @Override
11     public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
12         //说明此URI发生了异常,并把异常通过ex打印到控制台上面
13         logger.error("{} Exception",request.getRequestURI(), ex);
14         ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
15         modelAndView.addObject("status", ResponseCode.ERROR.getCode());
16         modelAndView.addObject("msg", "接口异常,详情请查看服务日志");
17         modelAndView.addObject("data", ex.toString());
18         return modelAndView;
19     }
20 }

  效果

原文地址:https://www.cnblogs.com/dashenaichicha/p/12178071.html

时间: 2024-08-30 12:14:33

springMVC全局异常配置的相关文章

Spring Boot 全局异常配置

Spring Boot 全局异常配置,处理异常控制器需要和发生异常的方法在一个类中.使用 ControllerAdvice 注解 package com.li.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ControllerAdvice; import

springmvc 全局异常解决方案

系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. 系统的dao.service.controller出现都通过throwsException向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图: 1.自定义异常类: package cn.itcast.ssm.exception; public class CustomerException exten

springmvc中拦截器与springmvc全局异常处理器的问题

最近在做一个练手的小项目, 系统架构中用了springmvc的全局异常处理器, 做了系统的统一异常处理. 后来加入了springmvc的拦截器, 为了一些需求, 在拦截器中的 preHandle 方法 中抛出了系统自定义异常, 当时有有个疑惑, 就是抛出的这个异常全局异常处理器怎么处理的. 这里的全局异常处理器时通过实现HandlerExceptionResolver这个借口实现的 要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩

设置springmvc全局异常

设置全局异常,将异常信息指定内容展示给前端页面,保证程序的安全性 @Slf4j@Componentpublic class ExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Objec

接口--全局异常配置--异常处理handle自定义配置

在重写了异常处理的handle类之后需要配置配置文件中handle的路径: 原文地址:https://www.cnblogs.com/mrszhou/p/8464022.html

Spring-MVC开发之全局异常捕获全面解读(转)

异常,异常.我们一定要捕获一切该死的异常,宁可错杀一千也不能放过一个!产品上线后的异常更要命,一定要屏蔽错误内容,以免暴露敏感信息!在用Spring MVC开发WEB应用时捕获全局异常的方法基本有两种: WEB.XML,就是指定error-code和page到指定地址,这也是最传统和常见的做法 用Spring的全局异常捕获功能,这种相对可操作性更强一些,可根据自己的需要做一后善后处理,比如日志记录等. SO,本文列出Spring-MVC做WEB开发时常用全局异常捕获的几种解决方案抛砖引玉,互相没

springMVC --全局异常处理(两种方式)

首先看springMVC的配置文件: <!-- 全局异常配置 start --> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <pro

Spring-MVC开发之全局异常捕获全面解读

在用Spring MVC开发WEB应用时捕获全局异常的方法基本有两种, WEB.XML,就是指定error-code和page到指定地址,这也是最传统和常见的做法 用Spring的全局异常捕获功能,这种相对可操作性更强一些,可根据自己的需要做一后善后处理,比如日志记录等. SO,本文列出Spring-MVC做WEB开发时常用全局异常捕获的几种解决方案抛砖引玉 互相没有依赖,每个都可单独使用! 定义服务器错误WEB.XML整合Spring MVC web.xml <error-page> <

springmvc处理局部异常和全局异常

springmvc通过HandlerExceptionResolver(是一个接口,在spring-webmvc依赖下)处理程序异常,包括处理器异常.数据绑定异常以及处理器执行时发生的异常.HandlerExceptionResolver仅有一个接口方法,如下 当发生异常时,springmvc会调用resolverException()方法,并转到ModelAndView对应的视图中,作为一个异常处理报告页面反馈给用户. 局部异常处理 局部异常处理仅能处理指定controller中的异常,使用@