一、SpringMVC异常处理机制
1.1 配置简单异常处理器simpleMappingExceptionResolver
1.2 自定义异常处理器
步骤:
①:创建异常处理器类实现HandlerExceptionResolver
②:配置异常处理器
③:编写异常页面
④:测试异常跳转
①:创建异常处理器类实现HandlerExceptionResolver
package resolver;
import exception.MyException;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class MyExceptionResolver implements HandlerExceptionResolver {
/*
参数Exception:异常对象
返回值ModelAndView:跳转到错误视图信息
*/
@Override
public ModelAndView resolveException(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView modelAndView = new ModelAndView();
if (e instanceof MyException){
modelAndView.addObject("info", "自定义异常");
}else if (e instanceof ClassCastException){
modelAndView.addObject("info", "类转换异常");
}
modelAndView.setViewName("error1");
return modelAndView;
}
}
②:在spring-mvc.xml中配置异常处理器
<!-- 配置自定义异常处理器 -->
<bean class="resolver.MyExceptionResolver"/>
③:编写异常页面
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>通用的错误处理页面 </h1>
<h1>${info}</h1>
</body>
</html>
④:测试异常跳转
请求访问:http://localhost:8080/spring_exception/show 页面效果:
1.3 知识要点
异常处理方式:
- 配置简单异常处理器simpleMappingExceptionResolver
- 自定义异常处理器