`
hahalq
  • 浏览: 14619 次
  • 性别: 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框架围绕DispatcherServlet这个核心展开,DispatcherServlet的作用是截获请求并组织一系列组件共同完成请求的处理工作。 JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它...

    Spring+3.x企业应用开发实战光盘源码(全)

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    基于SSM的商城系统附带视频教程

    异常处理和日志记录机制 单元测试和系统集成测试 项目部署和性能优化技巧 安全性考虑,如XSS和CSRF防护 版本控制和团队协作开发流程 适用人群 初学者和有一定Java基础的开发者,希望系统学习Java Web开发 对Spring, ...

    java微信公众号MVC开发框架

    jwx是开源的java公众号开发MVC框架,基于spring配置文件和微信消息或事件注解,通过微信上下文处理一个或多个微信公众号服务请求。目的主要有两个,其一生封装微信请求xml消息为java实体对象,将返回对象转换为xml...

    陈开雄 Spring+3.x企业应用开发实战光盘源码.zip

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    计算机毕业设计-JavaSmart系统-系统框架设计与开发(源代码+论文)

    此外,系统还可能集成缓存机制、安全框架、日志记录和异常处理模块,以提高性能和稳定性。系统框架的设计与开发旨在提供高度可重用的组件和模板,简化开发流程,缩短开发周期,并支持后续的扩展和维护。JavaSmart...

    Spring.3.x企业应用开发实战(完整版).part2

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...

    Spring 2.0 开发参考手册

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    spring4-1-showcase:Spring4.1新特性

    我的公众号:kaitao-1234567 我的新书: 一书总结并梳理了亿级流量网站...初步引发和事件机制的异常处理 数据库集成测试脚本初始化 Spring MVC增强 页面自动化测试框架Spring MVC Test HtmlUnit简介 静态资源处理增强

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 13.4. ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...

    spring security 参考手册中文版

    Spring框架 22 2.4.2 Gradle 23 Gradle存储库 23 使用Spring 4.0.x和Gradle 24 2.4.3项目模块 25 核心 - spring-security-core.jar 25 远程处理 - spring-security-remoting.jar 25 Web - spring-security-web.jar ...

    Spring中文帮助文档

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    Spring API

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    spring chm文档

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    Spring面试题

    ☆ Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。 Spring 框架的...

    Spring3.x企业应用开发实战(完整版) part1

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

    SSH框架面试题.pdf

    SSH框架,通常指的是基于Spring框架、Hibernate ORM和Struts MVC三个框架的整合应用,常称为经典的SSH架构。以下是一些面试题,主要针对这三个组件的理解和使用: ### Struts 1. 解释Struts框架及其工作原理。 2. ...

Global site tag (gtag.js) - Google Analytics