当前位置: 首页 > news >正文

网站代理商网站界面设计教程

网站代理商,网站界面设计教程,如何制作代码,广东高职一流专业建设专题网站Spring MVC异常处理 Spring MVC异常处理机制HandlerExceptionResolver的实现类DefaultHandlerExceptionResolver实现类DefaultHandlerExceptionResolver 在Controller的请求处理方法中手动使用try…catch块捕捉异常#xff0c;当捕捉到指定的异常时#xff0c;系统返回对应的… Spring MVC异常处理 Spring MVC异常处理机制HandlerExceptionResolver的实现类DefaultHandlerExceptionResolver实现类DefaultHandlerExceptionResolver 在Controller的请求处理方法中手动使用try…catch块捕捉异常当捕捉到指定的异常时系统返回对应的逻辑视图名——但这种异常处理方式非常烦琐需要在请求处理方法中书写大量的catch块。其最大的缺点还在于异常处理与代码耦合一旦需要改变异常处理方式必须修改大量的代码这是一种相当糟糕的方式。 对于MVC框架希望其提供的异常处理流程 异常处理流程是当控制器的处理方法处理用户请求时如果出现了异常1则系统转入视图资源1并在该视图资源上输出异常提示如果出现异常2则系统转入视图资源2并在该视图资源上输出异常提示。 假如在控制器的处理方法中使用try…catch块来捕捉异常当捕捉到指定的异常时系统返回对应的逻辑视图名——这种处理方式完全是手动处理异常非常烦琐而且可维护性不好如果有一天需要改变异常处理流程则必须修改控制器的代码。 如果手动捕捉catch异常然后返回return一个字符串作为逻辑视图名其实质就是定义异常类与逻辑视图名之间的对应关系。既然如此那么完全可以将这种对应关系放在配置文件中进行管理。实际上早期Spring MVC确实是这么干的——那时候Spring MVC主要还是受Struts 2的影响。 Spring MVC异常处理机制 主要由HandlerExceptionResolver接口负责处理该接口中只定义了如下抽象方法 看这个方法的参数和返回值是不是一切全明白了 该方法包含4个参数其中request、response参数不用管毕竟处理Web请求总离不开这些Servlet APIhandler代表抛出异常的处理方法Exception ex是关键参数其返回值是ModelAndView——该异常解析器做的事情是什么不就是完成Exception类与ModelAndView的对应关系吗 Spring MVC为HandlerExceptionResolver接口提供的实现类如图 HandlerExceptionResolver的实现类 有如下几个。 ➢ SimpleMappingExceptionResolver这是Spring MVC刚出现时提供的实现类完全是模仿Struts 2的一个实现类现在一般不推荐使用它。 ➢ DefaultHandlerExceptionResolver它是Spring MVC默认的异常解析器。 ➢ ResponseStatusExceptionResolver它负责为ResponseStatus注解修饰的异常类提供底层支持。 ➢ ExceptionHandlerExceptionResolver它负责为ExceptionHandler注解修饰的异常处理方法提供底层支持。 ➢ HandlerExceptionResolverComposite它是一系列异常解析器的前端代理。 随着Spring 1.0面世的Spring MVC难免受到Struts 2的影响因此HandlerExceptionResolver只有一个实现类SimpleMappingExceptionResolver它的设计哲学完全模仿Struts 2在配置文件中定义异常类与逻辑视图名之间的对应关系。 如果Spring MVC一直停留在“模仿Struts 2”的层次那么就不会有今天Spring MVC的辉煌了。 伴随着Spring 3的“王者归来”Spring MVC带来了“颠覆式”的异常处理机制它彻底脱离了Struts 2的窠臼改为基于AOP的异常处理机制。这种异常处理机制不仅能定义异常类与逻辑视图名之间的对应关系还可对异常做一些额外的修复处理并彻底将异常处理代码与业务处理代码分离。这种异常处理机制的底层由ResponseStatusExceptionResolver、ExceptionHandlerExceptionResolver等实现类提供支持而开发者使用ResponseStatus、ExceptionHandler、ControllerAdvice注解以声明式方式进行异常处理即可。 至于 DefaultHandlerExceptionResolver实现类 它是Spring MVC内置的异常解析类定义了常见异常类与HTTP状态码之间的对应关系。比如MissingPathVariableException异常类对应500SC_INTERNAL_SERVER_ERROR、TypeMismatchException异常类对应400SC_BAD_REQUEST……关于该类支持的异常类与HTTP状态码之间的对应关系读者可自行参看该类的API文档。 DefaultHandlerExceptionResolver类只能支持这些异常类因为它的源代码就是在doResolveException()方法中以“硬编码”方式写死了这些异常类与HTTP状态码之间的对应关系的——读者可自行查看这个实现类的源代码。 DefaultHandlerExceptionResolver 是Spring MVC框架本身使用的异常解析器开发者一般不会直接用到它。 总结Spring MVC的异常处理机制无非两类。 ➢ 使用SimpleMappingExceptionResolver基于配置文件的异常处理机制。这种机制完全类似于Struts 2的异常处理机制。 ➢ 使用ResponseStatus、ExceptionHandler、ControllerAdvice基于AOP的异常处理机制。这是目前主流的异常处理机制。 本节将会简单介绍使用SimpleMappingExceptionResolver的传统的异常处理机制重点还是以使用ResponseStatus、ExceptionHandler、ControllerAdvice的异常处理机制为主。
http://www.w-s-a.com/news/92269/

相关文章:

  • 网站细节门户wordpress主题下载
  • 全景网站模版wordpress套餐
  • 华为云建网站dw制作一个手机网站模板
  • 定陶菏泽网站建设河北新出现的传染病
  • 商业网站建设案例教程郑州服装网站建设公司
  • 网站内容怎么做专业的企业管理软件
  • 深圳网站制作公司排名微网站和微信公共平台的区别
  • 权威的唐山网站建设扁平网站欣赏
  • 网站外链建设工作计划应用公园app免费制作
  • 东莞营销型网站建设全自动建站系统
  • 网络在线培训网站建设方案虚拟主机配置WordPress
  • 建设工程信息查询哪个网站好台州做优化
  • wordpress页面回收站位置台州做网站
  • 邢台市行政区划图seo咨询师招聘
  • 外贸网站建设案例网站建设优化开发公司排名
  • 恩施网站优化郑州有没有厉害的seo
  • 电子商务网站建设与管理期末考试题铜山区建设局网站
  • 怎么做非法彩票网站大兴安岭网站建设公司
  • 网站备案授权书模板海外如何淘宝网站建设
  • 网站开发提供源代码dedecms做网站教程
  • 怎么做国际网站首页erp系统一套大概多少钱
  • 做代理网站用什么软件建设网站的企业多少钱
  • 微企免费做网站360收录提交
  • 网站导航页怎么做wordpress数据库批量替换
  • wordpress站点更换域名自己做wordpress 模版
  • 怎么做虚拟的网站东莞常平邮编是多少
  • 电子商务网站和普通网站的区别正规网站建设多少费用
  • 郴州免费招聘网站前端好还是后端好
  • 织梦网站怎样做子域名20个中国风网站设计欣赏
  • wordpress网站搬简约创意logo图片大全