Spring(十二)自定义异常处理器 HandlerExceptionResolver接口

1.首先创建一个类实现HandlerExceptionResolver

public class MyHandlerExceptionResolver implements HandlerExceptionResolver{
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception ex) {
        ModelAndView mv=new ModelAndView();
        mv.addObject("ex",ex);
        if(ex instanceof NameException){
            mv.setViewName("name");
        }
        if(ex instanceof AgeException){
            mv.setViewName("age");
        }
        return mv;
    }
}

  instanceof后面是自己定义的异常类.

NameException:

public class NameException extends Exception{
    public NameException() {
        super();
    }

    public NameException(String message) {
        super(message);
    }
}

  

AgeException:

public class AgeException extends Exception{
    public AgeException() {
        super();
    }

    public AgeException(String message) {
        super(message);
    }
}

3.配置文件

 

<context:component-scan base-package="cn.mvc.t14selfexception"></context:component-scan>
    
    <!--试图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/day02/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    
    
    <bean class="cn.mvc.t14selfexception.resolver.MyHandlerExceptionResolver"></bean>

4.登陆页面:

 

姓名错误页面:

 

年龄错误页面:

 

 

posted @ 2018-04-02 15:59  Gtr_Right  阅读(192)  评论(0编辑  收藏  举报