一、异常结构

1.异常由外到内如下:

web服务器处理异常--->web应用里面web.xml处理异常--->Spring框架处理异常---->控制器注释处理异常
--->控制器方法里面try处理异常

二、针对如上图讲解实现方法

1.Tomcat异常处理:在conf/web.xml里面加入错误页面配置信息。(了解)

2.Web应用程序:工程下的web.xml配置错误页面信息:

    <error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/404.jsp</location>
</error-page> <error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/500.jsp</location>
</error-page> <error-page>
<exception-type>
java.lang.Exception
</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>

3.Spring框架处理异常:

<!-- 异常处理器 -->
<bean
class=
"org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- 这个name属性作用:将异常类型与错误页面进行对应 -->
<property name="exceptionMappings">
<props>
<!-- 下面这句的意思:
error与前面配置的视图处理器配合,找到error.jsp页面
当任何控制器抛出RuntimeException的时候,
就转发到error.jsp的页面上 。
还可以增加其他类型的异常以及对应的jsp页面,就是下面的这句
可以写多个。key里面也可以写自定义异常的完全限定名。-->
<prop key="java.lang.RuntimeException">
error
</prop>
<prop key="java.lang.IndexOutOfBoundsException">
error1
</prop>
</props>
</property> </bean>

4.控制器注释处理异常:

    @ExceptionHandler
public String execute(
HttpServletRequest req,
Exception e) throws Exception {
if(e instanceof NullPointerException) {
req.setAttribute("msg", "空指针喽!");
return "message";//转发到message页面
}
//还可以增加if处理其他类型的异常。。。
throw e;//若该类型异常处理不了,一定抛出!
}

5.最里层的try...catch处理异常方式有很多,例如:返回json对象到页面处理异常,重定向主页地址,转发到错误页面,继续向上抛出等等,根据情况处理异常。

spring MVC 异常处理整理的更多相关文章

  1. Spring MVC异常处理SimpleMappingExceptionResolver

    Spring MVC异常处理SimpleMappingExceptionResolver[转] (2012-12-07 13:45:33) 转载▼ 标签: 杂谈 分类: 技术分享 Spring3.0中 ...

  2. Spring MVC异常处理代码完整实例

    Spring MVC异常处理流程: 提供构造方法传值: 配置异常处理器的bean

  3. Spring系列(七) Spring MVC 异常处理

    Servlet传统异常处理 Servlet规范规定了当web应用发生异常时必须能够指明, 并确定了该如何处理, 规定了错误信息应该包含的内容和展示页面的方式.(详细可以参考servlet规范文档) 处 ...

  4. Spring MVC异常处理详解

    Spring MVC中异常处理的类体系结构 下图中,我画出了Spring MVC中,跟异常处理相关的主要类和接口. 在Spring MVC中,所有用于处理在请求映射和请求处理过程中抛出的异常的类,都要 ...

  5. Spring MVC异常处理

    Spring Mvc 中异常处理,一般有两种解决办法: 一.利用org.springframework.web.servlet.handler.SimpleMappingExceptionResolv ...

  6. Spring MVC异常处理详解(转)

    下图中,我画出了Spring MVC中,跟异常处理相关的主要类和接口. 在Spring MVC中,所有用于处理在请求映射和请求处理过程中抛出的异常的类,都要实现HandlerExceptionReso ...

  7. Spring MVC异常处理详解 ExceptionHandler good

    @ControllerAdvice(basePackageClasses = AcmeController.class) public class AcmeControllerAdvice exten ...

  8. Spring MVC面试整理

    Spring MVC执行过程 客户端的请求提交到dispatcherServlet DispatcherServlet查询一个或者多个handlermapping ,找请求的Controller Di ...

  9. Spring MVC知识点整理

    网上Spring MVC相关知识点的介绍已经有很多了,但是大部分文章都是介绍其中的一部分知识点. 本文希望能够向读者做一个基本整体的介绍,首先我们先来了解下Spring MVC的基础接口和组件.   ...

随机推荐

  1. 什么是CDN 域名预热

    通常大家理解的预热功能是,缓存预热.将需要预热的资源推送到CDN边缘节点,用户访问时将不需要再回源站,可以直接命中缓存.这样可以加快资源的首次访问,同时缓解突增回源流量给源站造成的压力.这里说的是域名 ...

  2. 搭建confluence参考文献

    https://www.cnblogs.com/kevingrace/p/7607442.html https://yq.aliyun.com/articles/144747?t=t1 jira: h ...

  3. Lightoj 1370 素数打表 +二分

    1370 - Bi-shoe and Phi-shoe   PDF (English) Statistics   Time Limit: 2 second(s) Memory Limit: 32 MB ...

  4. php中浮点型变量

    $d = (0.1+0.7)*10;//$d为8 //floor函数返回不大于value的最接近的整数,舍去小数部分取整 $e = floor($d);//$e为7 为什么$e为7,而不是8 因为$d ...

  5. JMeter ——Test fragment

    fragment 为片段,可以是一个不完整的用例.比如你可以把一个http请求保存为fragment,如果不这样做的话,你是必须先要添加一个测试计划-线程组-http请求的.你可以把某步骤一系列的请求 ...

  6. Python中的exec、eval的区别

    通过exec可以执行动态Python代码,类似Javascript的eval功能: 而Python中的eval函数可以计算Python表达式,并返回结果: (exec不返回结果,print(eval( ...

  7. 利用Swoole实现PHP+websocket直播,即使通讯代码,及linux下swoole安装基本配置

    swoole安装基本配置 php安装swoole 1. 下载swoole安装 wget http://pecl.php.net/get/swoole-1.9.1.tgz tar -zxvf swool ...

  8. SSIS简介

    SSIS 其全称是Sql Server Integration Services ,是Microsoft BI 解决方案的一大利器. SSIS 的体系结构主要由四部分组成:Integration Se ...

  9. spring boot: Annotation 注解之@Target的用法介绍

    前言 目前,越来越多的架构设计在使用注解,例如spring3.0.struts2等框架.让我们先来看看注解的定义.如下是一段使用了JDK 5 Annotation @Target的代码: @Targe ...

  10. 任务1-1 了解Web基本概念

    1.认识网页 从图中可以看到,网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频及Flash. 为了快速了解网页是如何形成的,接下来查看一下网页的源代码