zoukankan      html  css  js  c++  java
  • Spring MVC处理异常有3种方法

    1.使用 SimpleMappingExceptionResolver 实现异常处理

    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <!-- 异常处理页面 -->
        <property name="defaultErrorView" value="error"></property>
        <!-- 异常信息的变量名,默认名为exception -->
        <property name="exceptionAttribute" value="ex"></property>
        <!-- 需要处理的异常 -->
        <property name="exceptionMappings">
            <props>
                <prop key="xxxxException">error-xxx</prop>
                <prop key="yyyyException">error-yyy</prop>
                <prop key="...">...</prop>
            </props>
        </property>
    </bean>

    2.实现HandlerExceptionResolver 接口自定义异常处理器

    public class DefaultExceptionHandler implements HandlerExceptionResolver
    {
    
        @Override
        public ModelAndView resolveException(
                HttpServletRequest request,
                HttpServletResponse response,
                Object o,
                Exception e) {
        
            return new ModelAndView("error");
        }
    }

    3.使用@ControllerAdvice,@ExceptionHandler 注解实现

    @ControllerAdvice
    public class DefaultExceptionHandler
    {
        @ExceptionHandler(Throwable.class)
        public ModelAndView resolveException(Exception ex)
        {
            // FastJsonJsonView
            HashMap<String, Object> map = new HashMap<>();
            map.put("code", "1001");
            map.put("msg", ex.getMessage());
    
            log.error("异常:" + ex.getMessage(), ex);
            return new ModelAndView("error", map);
        }
    }
  • 相关阅读:
    [转]Hamcrest使用方法实例
    Maven配置浅析
    Guava API
    awk排序作业
    [转]awk使用手册
    Vue源码探究-全局API
    vue 组件间传值
    在2018年如何优雅的开发一个typescript语言的npm包?
    PHP四种序列化方案
    从 0 到 1 再到 100, 搭建、编写、构建一个前端项目
  • 原文地址:https://www.cnblogs.com/appleat/p/9100884.html
Copyright © 2011-2022 走看看