异常解析器
java
public class MyException1 extends RuntimeException {
public MyException1() {
}
public MyException1(String message) {
super(message);
}
}
java
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView m = new ModelAndView();
if (e instanceof MyException1) {
m.setViewName("redirect:/error1.jsp");
} else if (e instanceof MyException2) {
m.setViewName("redirect:/error2.jsp");
} else if (e instanceof MyException3) {
m.setViewName("redirect:/error3.jsp");
}
return m;
}
}
xml
<bean class="com.fy.web.demo1.MyExceptionResolver"/>
测试
@Controller
public class Demo1 {
@RequestMapping("/test1")
public String test1() {
System.out.println("test1");
if (1 == 1) {
throw new MyException1("test ex1");
}
return "success";
}
}