在Spring MVC中也可以进行一些异常的处理,常用的方式有三种:
- 使用spring mvc中的异常处理器 SimpleMappingExceptionResolver
- 使用自定义异常处理器
- 使用异常处理注解
SimpleMappingExceptionResolver
当系统出现异常之后,我们可以让spring mvc跳转到指定的jsp中,这样子对于用户来说体验比较好,对于开发者来说也比较好定位问题,这里先来看下使用SimpleMappingExceptionResolver的方式来处理异常。
首先我们来自定义一个异常:
package com.monkey1024.exception;
/**
* 自定义异常
*/
public class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
}
定义一个controller,在里面分别抛出自定义MyException和jdk自带的Exception:
/**
* 异常处理controller
*/
@Controller
public class ExceptionController {
/**
* 异常
* @param name
* @return
* @throws Exception
*/
@RequestMapping("/myException.do")
public ModelAndView myException(String name)throws Exception{
ModelAndView mv = new ModelAndView();
if ("jack".equals(name)) {
throw new MyException("我的自定义异常");
}
if (!"jack".equals(name)) {
throw new Exception("异常");
}
return mv;
}
}
接下来需要修改一下springmvc.xml配置文件,添加异常处理相关的配置:
<!--异常处理-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name=