Springmvc异常映射2种实现方法

2020-05-06

请求出现 想要跳转到错误页面

就需要对springmvc进行配置

方法1:基于xml的配置

springmvc.xml配置类

<!--配置基于xml的异常映射-->
<bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
  <!--配置异常和对应页面的映射-->
  <property name="exceptionMappings" >
    <props>
      <prop key="java.lang.Exception">erroe</prop>
    </props>
  </property>
</bean>

2.方法2:基于@ControllerAdvice

@ControllerAdvice
public class ExceptionResolver {
  @ExceptionHandler(value = NullPointerException.class)
public ModelAndView nullPointerExceptionResovler(NullPointerException e, HttpServletRequest request, HttpServletResponse response) throws IOException {
   String viewName="erroe";
    return commonReslover(viewName,response,request,e);
  }
  private ModelAndView commonReslover(String viewName,HttpServletResponse response,HttpServletRequest request,Exception e) throws IOException {
    boolean judgeResult = CrowdUtil.judgeRequestType(request);
    if(judgeResult){
      ResultEntity<Object> resultEntity=ResultEntity.failed(e.getMessage());
      //转成gson对象
      Gson gson=new Gson();
      response.getWriter().write(gson.toJson(resultEntity));
      return null;
    }
    ModelAndView modelAndView=new ModelAndView();
    modelAndView.addObject("exception",e);
    modelAndView.setViewName(viewName);
    return modelAndView;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持北冥有鱼。

《Springmvc异常映射2种实现方法.doc》

下载本文的Word格式文档,以方便收藏与打印。