zoukankan      html  css  js  c++  java
  • SpringMVC异常处理

    全局异常处理

    只需在applicationContext.xml中配置异常处理器

     <!-- 异常处理器 -->
       <!-- 全局异常处理 -->
       <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
              <property name="exceptionMappings">
                  <props>
                  <!-- <prop key="异常类型">视图名</prop> -->
                      <prop key="java.lang.Exception">error</prop>
                  </props>
              </property>
       </bean>

    局部异常处理
    局部异常处理方法(优先):执行该方法后,不再调用ExceptionResolver(全局异常处理)

     在控制器Controller添加该方法,当出现异常,会自动执行该约定方法

    //当前Controller异常处理
        @ExceptionHandler//局部异常处理方法
        public String handlerException(HttpServletRequest request,Exception e){
            request.setAttribute("msg", "输入信息有误导致计算失误");
            return "age";
        }

    自定义ExceptionResolver

    A.创建异常类并实现HandlerExceptionResolver接口如下:

    package com.day04test.exception;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerExceptionResolver;
    import org.springframework.web.servlet.ModelAndView;
    
    public class MyExceptionHandler implements HandlerExceptionResolver {
    
        public ModelAndView resolveException(HttpServletRequest request,
                                                HttpServletResponse response,
                                                Object method,
                                                Exception e) {
            //将异常信息写入文件
            System.out.println("将异常信息写入文件"+e);
            //跳转到错误页面
            ModelAndView mav=new ModelAndView();
            mav.setViewName("error");
            return mav;
        }
    
    }

    B.在applicationContext.xml中配置自定义异常

    <!-- 使用自定义的ExceptionResolver -->
       <bean class="com.day04test.exception.MyException"></bean>
       
  • 相关阅读:
    不用π求坐标夹角大小
    使用LVS实现负载均衡原理及安装配置详解
    从dfs向动态规划过渡
    关于dfs
    [LeetCode] Add Two Numbers
    [LeetCode] Gray Code
    [LeetCode] Single Number
    第四章 深入JSP技术
    蚂蚁破2万亿!身价暴涨2077亿的彭蕾:无论马云的决定是什么,我都让它成为最正确的决定...
    异常场景测试
  • 原文地址:https://www.cnblogs.com/peachwang/p/7308734.html
Copyright © 2011-2022 走看看