spring MVC中的异常统一处理
2015-11-29 22:23
274 查看
1.spring MVC中定义了一个标准的异常处理类SimpleMappingExceptionResolver
该类实现了接口HandlerExceptionResolver
2.看下SimpleMappingExceptionResolver都包含那些东西吧
上面列出的属性,一般我们用到的Properties,defaultErrorView这两个。
下面看看在spring-mvc.xml中的通用配置吧:
3.当然我们做完这些工作,还不能完全把所有的异常信息都处理好,有些像404的我们就无能为力了,解决的方法就是在web.xml中定义<error-page>来处理了
大体上一个常规的统一异常处理就完工了!
该类实现了接口HandlerExceptionResolver
2.看下SimpleMappingExceptionResolver都包含那些东西吧
//默认的异常名字 public static final String DEFAULT_EXCEPTION_ATTRIBUTE = "exception"; //异常列表,包括什么异常要对应什么一场页面处理 private Properties exceptionMappings; //排除的异常 private Class<?>[] excludedExceptions; //默认异常处理页面 private String defaultErrorView; //默认的状态 例如:500 private Integer defaultStatusCode; //状态列表 private Map<String, Integer> statusCodes = new HashMap<String, Integer>(); //异常名字 private String exceptionAttribute = DEFAULT_EXCEPTION_ATTRIBUTE;
上面列出的属性,一般我们用到的Properties,defaultErrorView这两个。
下面看看在spring-mvc.xml中的通用配置吧:
<!-- 统一异常处理 --> <bean id="handlerExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <!-- 定义的默认错误处理页面 --> <property name="defaultErrorView" value="error"></property> <!-- 定义错误类型和对应的页面处理 列表 --> <property name="exceptionMappings"> <props> <!-- 举个例子 --> <prop key="java.sql.SQLException">error/sql</prop> </props> </property> </bean>
3.当然我们做完这些工作,还不能完全把所有的异常信息都处理好,有些像404的我们就无能为力了,解决的方法就是在web.xml中定义<error-page>来处理了
<error-page> <error-code>404</error-code> <location>/error/404.jsp</location> </error-page>
大体上一个常规的统一异常处理就完工了!
相关文章推荐
- ajax ssh 整合
- java继承深入解析
- For Java初学者like me而言need to掌握的高级一点的方法
- HashMap(JDK1.8)源码剖析
- [JavaWeb]Maven安装配置
- 读取Java文件到byte数组的三种方式
- 我看Java虚拟机(6)---虚拟机字节码执行
- spring环境的搭建及作用和定义<一>
- Spring 配置文件中Bean 属性id和name的区别
- Java中PreparedStatement和Statement的用法区别
- Java中的修饰符
- 2.交通聚类 -层次聚类(agnes)Java实现
- 16. Spring Security 基于表达式的权限控制
- 15. Spring Security 权限鉴定结构
- 14. Spring Security 权限鉴定基础
- 13. Spring Security session管理
- 12. Spring Security Remember-Me功能
- 我看Java虚拟机(5)---虚拟机加载机制
- 11. pring Security 匿名认证
- Java日志框架中真的需要判断log.isDebugEnabled()吗?