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.登陆页面:
姓名错误页面:
年龄错误页面: