`
hahalq
  • 浏览: 14684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc框架的异常处理机制

阅读更多

Spring MVC处理异常主要依赖于HandlerExceptionResolver接口及其实现类默认会启动它的三个对象:

 

  • org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver
  • org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver
  • org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver

我们也可以实现该接口并且配置成bean,spring mvc容器会自动找到它,这样会覆盖spring的默认配置。

 

 

  • 1.ExceptionHandlerExceptionResolver的实现去寻找Controller类中有@ExceptionHandler注解的的方法,用其去处理异常,该方法的参数、返回值类型的限制跟@RequestMapping标识的处理方法一致。
  • 2.ResponseStatusExceptionResolver会查找抛出的异常的类有没有注解:@ResponseStatus,如果有,就直接用Response.setError(errorCode,errorReason),参数取自ResponseStatus注解中的值。
  • 3.DefaultHandlerExceptionResolver只处理了Spring内部经常出现的一些异常,设置Response.setError(errorCode,errorReason)后,直接返回空的ModelAndView对象。

 

各个HandlerExceptionResolver执行的顺序由Ordered接口,从前到后执行直到某个HandlerExceptionResolver返回了ModelAndView,如果所有HandlerExceptionResolver都没有返回,就将异常原样throw出去,交由servlet容器来处理。

 

1
4
分享到:
评论
2 楼 chenlei1728 2012-11-26  
鼓励一下!
1 楼 asialee 2012-11-26  
写的不错,平常用的时候ExceptionHandlerExceptionResolver这个可能用的多点。

相关推荐

    Spring MVC框架简介和使用

    ### Spring MVC框架简介 Spring MVC 是一款基于 Java 的 Web 应用框架,它遵循 MVC(Model-View-Controller)设计模式。Spring MVC 提供了一种结构化的开发方式,旨在简化 Web 层的开发过程,同时提供了高度灵活性...

    spring mvc异常处理

    本文将深入探讨Spring MVC中的异常处理机制,帮助你更好地理解如何优雅地处理错误和异常。 1. **Spring MVC 异常处理概述** Spring MVC 提供了一种统一的方式来处理应用程序中抛出的异常。它通过`@...

    spring mvc异常简单处理

    在Spring MVC框架中,异常处理是一项关键任务,它确保了应用程序在遇到错误或异常时能够优雅地响应。本文将深入探讨Spring MVC中的异常处理机制,包括如何配置、自定义异常处理器以及异常转换策略。 首先,Spring ...

    Spring-MVC框架简单实现

    Spring MVC 提供了异常处理机制,当 Controller 方法抛出异常时,ExceptionResolver 可以捕获并转化为用户友好的错误页面。 **9. 视图解析** 视图解析器是 Spring MVC 中的关键组件,它负责将 Model 数据和视图名称...

    Spring MVC框架实例

    **Spring MVC 框架实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的 Model-View-Controller (MVC) 模型的实现。在基于 Spring 2.5 的项目中,XML 配置是主要的配置方式,相比...

    Spring MVC学习框架

    10. **异常处理**:Spring MVC 提供了统一的异常处理机制,通过 @ExceptionHandler 或配置 ExceptionResolver,可以优雅地处理应用中的异常。 11. **RESTful 支持**:Spring MVC 通过 @RequestMapping 注解支持 ...

    Spring mvc 教程

    - **处理一般的 Spring MVC 异常**:Spring MVC 自身的一些异常可以在这里统一处理。 - **使用 @ResponseStatus 注解业务异常**:为自定义异常添加 HTTP 状态码。 #### Servlet 默认容器错误页面的定制化 - **Web ...

    spring mvc+Mybatis 框架雏形

    **Spring MVC框架** Spring MVC是Spring框架的核心组件之一,它的设计目标是简化Web应用的开发。其主要特点包括: 1. **模型-视图-控制器结构**:Spring MVC通过定义模型、视图和控制器的角色来组织应用。模型负责...

    spring MVC框架技术

    9. **异常处理**: Spring MVC提供了全局异常处理机制,通过@ControllerAdvice和@ExceptionHandler注解,可以在一个统一的地方处理所有Controller中抛出的异常。 10. **RESTful API**: Spring MVC也支持创建RESTful...

    Spring MVC 教程快速入门 深入分析

    十一、Spring MVC如何实现全局的异常处理:提供了实现全局异常处理器的方式,让开发者能够捕获所有控制器抛出的异常,统一处理。 十二、Spring MVC如何把全局异常记录到日志中:讲述了如何将异常信息记录到日志文件...

    【Java实战教程】11. 整合 Spring 与 Spring Mvc框架.haozip02.zip

    在本Java实战教程中,我们将深入探讨如何整合Spring框架与Spring MVC框架,这对于构建现代企业级Web应用程序至关重要。Spring作为一款强大的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,而Spring...

    spring mvc 4.0

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring ...

    使用Spring MVC框架 实现的云音乐网站.zip

    10. **异常处理**:Spring MVC 允许定义全局的异常处理器,统一处理应用中可能出现的异常,提供友好的错误页面。 在"云音乐网站"项目中,Spring MVC 可能用于处理用户登录、歌曲搜索、播放列表管理等功能,通过控制...

    Spring MVC 框架搭建及详解

    以下是对Spring MVC框架的详细解释: **一、Spring MVC 环境搭建** 1. **引入jar包** 在Spring MVC项目中,你需要添加相应的Spring和Hibernate库。Spring的核心库`spring.jar`提供基础服务,`spring-webmvc.jar`...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    5. **异常处理**:Spring MVC通过`@ExceptionHandler`注解处理异常,可以返回定制的错误页面。配合jQuery,可以在前端优雅地处理错误,如弹出错误消息。 6. **RESTful API**:Spring MVC支持构建RESTful服务,与...

    Spring+Spring MVC+Mybatis框架搭建

    Spring MVC还支持数据绑定、异常处理、国际化等功能。 **Mybatis**:Mybatis是一个持久层框架,它允许开发者用简单的XML或注解来映射SQL语句和Java对象。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取...

    Spring mvc5.0.3 所有jar包

    8. **数据验证**: 通过集成JSR-303/JSR-349(Bean Validation)规范,Spring MVC提供了一种方便的数据验证机制。可以使用`@Valid`注解进行验证,并通过`BindingResult`对象获取验证结果。 9. **拦截器(Interceptor...

    《精通Spring MVC 4》源码

    通过仔细阅读和分析这些源代码,开发者不仅可以提升对Spring MVC框架的理解,还能学习到设计模式、性能优化和最佳实践,从而在实际项目中更有效地应用Spring MVC。无论是初学者还是经验丰富的开发者,都应该充分利用...

    精通Spring MVC4

    Spring MVC提供了一种优雅的异常处理机制,可以使用@ControllerAdvice和@ExceptionHandler注解定义全局异常处理器。此外,还可以自定义错误页面,提高用户体验。 8. **数据绑定和验证** Spring MVC支持自动的数据...

Global site tag (gtag.js) - Google Analytics