• SpringMVC异常处理


     

    1.1. 异常处理思路

    系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。

    系统的daoservicecontroller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图:图片

    ------------------------------------------------------------------------------------------------------------------------

    /**

     * 异常处理器的自定义的实现类

     * @author lx

     *

     */

    public class CustomExceptionResolver implements HandlerExceptionResolver{

    public ModelAndView resolveException(HttpServletRequest request, 

    HttpServletResponse response, Object obj,

    Exception e) {

    // TODO Auto-generated method stub  发生异常的地方 Serivce层  方法  包名+类名+方法名(形参) 字符串

    //日志    1.发布 tomcat war  Eclipse  2.发布Tomcat  服务器上  Linux  Log4j

    ModelAndView mav = new ModelAndView();

    //判断异常为类型

    if(e instanceof MessageException){

    //预期异常

    MessageException me = (MessageException)e;

    mav.addObject("error", me.getMsg());

    }else{

    mav.addObject("error", "未知异常");

    }

    mav.setViewName("error");

    return mav;

    }

    }

    ----------------------------------------------------------

     package com.itheima.springmvc.exception;

    public class MessageException extends Exception{

    private String msg;

    public MessageException(String msg) {

    super();

    this.msg = msg;

    }

    public String getMsg() {

    return msg;

    }

    public void setMsg(String msg) {

    this.msg = msg;

    }

    }

    -----------------------------------------------------------------------------------------------
     

    1.1. 异常处理器配置

    springmvc.xml中添加:

    <!-- 配置全局异常处理器 -->

    <bean 

    id="customHandleException"  class="cn.itcast.ssm.exception.CustomHandleException"/>

  • 相关阅读:
    selenium iframe 定位 qq空间说说
    单个 进程网速 消耗 网路 带宽
    网页加速
    baidu 验证网站 一一映射
    内容原发网站seo不重视2个标签,导致seo效果不如转发网站
    vi shell 的水平 决定了 手机shell 办公的效率
    键盘控制鼠标
    seo 谷歌去年悄然收购这家英国硬件公司
    视频 爬虫
    python 深浅 拷贝
  • 原文地址:https://www.cnblogs.com/MAPO/p/8469144.html
Copyright © 2020-2023  润新知