- 浏览: 249919 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
Spring3.0中对异常的处理方法一共提供了两种:一种是使用HandlerExceptionResolver接口;一种是在Controller类内部使用@ExceptionHandler注解。使用第一种方式可以实现全局异常控制,并且Spring已经提供了一个默认的实现类SimpleMappingExceptionResolver;使用第二种方式可以在Controller内部实现更个性化点异常处理方式,灵活性更高。一般来说,项目中只需要采用第一种方式就可以了,每个人都自己定义异常的展现方式,太过个性了,不统一。
从目前的调查结果看,这两种方式不能共存,不知道未来的版本是否能将他们合二为一,这样才能灵活配置。
基于HandlerExceptionResolver接口的异常处理:
使用这种方式只需要实现resolveException方法,该方法返回一个ModelAndView对象,在方法内部对异常的类型进行判断,然后常见合适的ModelAndView对象,如果该方法返回了null,则Spring会继续寻找其他的实现了HandlerExceptionResolver接口的Bean。换句话说,Spring会搜索所有注册在其环境中的实现了HandlerExceptionResolver接口的Bean,逐个执行,直到返回了一个ModelAndView对象。
示例代码:
- /**
- * 基于HandlerExceptionResolver接口的异常处理类
- * @author ZYWANG 2011-4-2
- */
- public class CustomExceptionHandler implements HandlerExceptionResolver {
- @Override
- public ModelAndView resolveException(HttpServletRequest request,
- HttpServletResponse response, Object object, Exception exception) {
- if(exception instanceof IOException){
- return new ModelAndView("ioexp");
- }else if(exception instanceof SQLException){
- return new ModelAndView("sqlexp");
- }
- return null;
- }
- }
这个类必须声明到Spring中去,让Spring管理它,你可以使用@Component标签,也可以使用<bean/>节点。为了简单的进行异常处理,Spring提供了SimpleMappingExceptionResolver类,该类实现了HandlerExceptionResolver接口,需要使用时只需要使用<bean/>节点进行声明即可,示例如下:
- <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
- <!-- 定义默认的异常处理页面,当该异常类型的注册时使用 -->
- <property name="defaultErrorView" value="error"></property>
- <!-- 定义异常处理页面用来获取异常信息的变量名,默认名为exception -->
- <property name="exceptionAttribute" value="ex"></property>
- <!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值 -->
- <property name="exceptionMappings">
- <props>
- <prop key="IOException">error/ioexp</prop>
- <prop key="java.sql.SQLException">error/sqlexp</prop>
- </props>
- </property>
- </bean>
基于@ExceptionHandler的异常处理:
该方法需要定义在Controller内部,然后创建一个方法并用@ExceptionHandler注解来修饰用来处理异常,这个方法基本和@RequestMapping修饰的方法差不多,只是可以多一个类型为Exception的参数,@ExceptionHandler中可以添加一个或多个异常的类型,如果为空的话则认为可以触发所有的异常类型错误。
示例代码:
- /**
- * 基于@ExceptionHandler异常处理
- * @author ZYWANG 2011-4-2
- */
- @Controller
- public class ExceptionHandlerController {
- @ExceptionHandler(value={IOException.class,SQLException.class})
- public String exp(Exception ex,HttpServletRequest request) {
- request.setAttribute("ex", ex);
- return "/error.jsp";
- }
- }
以上配置基于Spring3.05进行设置,参考其《Reference Documentation》
发表评论
-
主题:Spring MVC3 国际化配置
2012-04-13 08:30 738http://www.iteye.com/topic/1122 ... -
使用 Spring Data JPA 简化 JPA 开发
2012-04-13 08:30 861http://www.ibm.com/developerwor ... -
跟我学spring3 电子书下载(完)
2012-04-13 08:30 600http://www.iteye.com/topic/1122 ... -
spring 读取applicationContext方式
2012-04-12 08:02 985spring 读取applicationCont ... -
spring javamail
2012-04-11 08:00 714spring javamail 博客分类 ... -
Quartz在Spring中动态设置cronExpression
2012-04-11 08:00 618Quartz在Spring中动态设置cronEx ... -
spring定时器用Annotation实现
2012-04-10 08:28 748spring定时器用Annotation实现 ... -
spring 3 中使用注解的方式来进行任务调度。
2012-04-10 08:28 705spring 3 中使用注解的方式来进行任务调度。 ... -
spring定时器如何配置
2012-04-10 08:28 1006有两种流行Spring定时器配置:Java的Timer类 ... -
Spring在web应用中获得Bean的方法
2012-04-01 08:21 858Spring在web应用中获得Bean的方法 ... -
在Spring3中使用注解(@Scheduled)创建计划任务
2012-04-09 09:49 1222在Spring3中使用注解(@Scheduled ... -
利用 Spring 和 EHCache 做方法缓存处理〔转〕
2012-04-09 09:49 800利用 Spring 和 EHCache 做方法缓存处理〔 ... -
springmvc rest框架搭建中遇到的问题
2012-03-16 14:37 927springmvc rest框架搭建中遇到的问题(一) ... -
spring 3.0 应用springmvc 构造RESTful URL 详细讲解
2012-03-16 14:36 653http://badqiu.iteye.com/blog/47 ... -
MyBatis3整合Spring3的Transaction事务处理
2012-03-07 08:18 877MyBatis3整合Spring3的Transacti ... -
spring mvc 注解验证springmodules common validator (注解验证)
2012-03-02 09:21 1981转载:http://blog.csdn.net/h ... -
spring结合quartz的定时的2种方式
2012-03-02 09:21 735spring结合quartz的定时的2种方式 ... -
spring结合quartz的执行多任务的实现
2012-03-02 09:21 1828spring结合quartz的执行多任务的实现 ... -
在Spring中使用JTA事务管理(二)
2012-02-28 08:15 962在Spring中使用JTA事务管理(二) (20 ... -
spring 事务 不能rollback的问题终于解决了
2012-03-19 08:24 828spring 事务 不能rollback的问题 ...
相关推荐
解决异常: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.lang....
使用校验功能时,处理方法要如何签名?? 校验错误信息存放在什么地方?? 页面如何显示错误信息 如何对错误信息进行国际化(1) 如何对错误信息进行国际化(2) 目录 数据模型访问结构 访问数据模型:ModelAndView 访问...
第4章:讲解如何在Spring配置文件中使用Spring 3.0的Schema格式配置Bean的内容,并对各个配置项的意义进行了深入的说明。 第5章:对Spring容器进行解构,从内部探究Spring容器的体系结构和运行流程。此外,我们...
第4章:讲解如何在Spring配置文件中使用Spring 3.0的Schema格式配置Bean的内容,并对各个配置项的意义进行了深入的说明。 第5章:对Spring容器进行解构,从内部探究Spring容器的体系结构和运行流程。此外,我们...
博文链接:https://ttitfly.iteye.com/blog/131955
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...
包或子包下的所有方法之前或之后或抛出异常时依次调用id为logIntercepter的类中的before after exception方法 测试用例 package com.spring.test; import javax.annotation.Resource; import org.junit.Test; ...
1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...
使用校验功能时,处理方法要如何签名?? 校验错误信息存放在什么地方?? 页面如何显示错误信息 如何对错误信息进行国际化(1) 如何对错误信息进行国际化(2) 目录 数据模型访问结构 访问数据模型:...
java8 源码 Spring 版本 Version Feature ...抽象层提供了一个异常层次结构,简化了错误处理策略。 模块 Spring 核心容器 Spring Core Spring Bean SpEL (Spring Expression Language) Spring Context A
07、多数据源配置和使用 08、map+warpper介绍 09、日志系统 10、swagger讲解 11、3.0项目介绍与项目拆分 12、shiro与权限系统 13、全局异常拦截 14、代码生成器 15、数据范围使用和原理 16、缓存讲解 17、...
7、多数据源配置和使用;8、map+warpper介绍;9、日志系统;10、swagger讲解;11、3.0项目介绍与拆分;12、shiro与权限系统;13、全局异常拦截;14、代码生成器;15、数据范围使用和原理;16、;17、;18;。。。。...
枪支v3.0增加剩余api服务,提供对接服务端接口的支持,并利用jwt令牌鉴权机制赋予客户端的访问权限,传输数据进行md5签名保证传输过程数据的安全性! 枪支v4.0更新内容 spring boot升级到2.0.3版本! 升级各个依赖...
系统需求:JDK >= 1.8 MySQL >= 5.7 Maven >= 3.0 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 岗位管理:...
利用委托机制处理.NET中的异常 与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文...