在springMVC在配置文件:

<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"><property name="defaultErrorView"><value>/error</value><!-- 表示当抛出异常但没有在exceptionMappings里面找到相应的异常时 返回名叫error的视图--></property><property name="defaultStatusCode" value="404"/><!-- 表示在发生异常时默认的HttpServletResponse的返回码,默认是404--><property name="statusCodes"><!-- 定义在发生异常时视图跟返回码的相应关系 --><props><!-- 表示在发生NumberFormatException时返回视图number,然后这里定义发生异常时视图number相应的HttpServletResponse的返回码是500 --><prop key="number">500</prop><prop key="null">503</prop></props></property><property name="exceptionMappings"><props><prop key="NumberFormatException">number</prop><!-- 表示当抛出NumberFormatException的时候就返回名叫number的视图--><prop key="NullPointerException">null</prop></props></property>
</bean> 

这里基本的类是SimpleMappingExceptionResolver类,和他的父类AbstractHandlerExceptionResolver类。

你也能够实现HandlerExceptionResolver接口,写一个自己的异常处理程序.

通过SimpleMappingExceptionResolver我们能够将不同的异常映射到不同的jsp页面(通过exceptionMappings属性的配置)。

同一时候我们也能够为全部的异常指定一个默认的异常提示页面(通过defaultErrorView属性的配置),

假设所抛出的异常在exceptionMappings中没有相应的映射,则Spring将用此默认配置显示异常信息。

Login.java測试类

import java.io.File;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class Login {@RequestMapping("/null")public void testNullPointerException() {File file = null;// 空指针异常,返回定义在SpringMVC配置文件里的null视图System.out.println(file.getName());}@RequestMapping("/number")public void testNumberFormatException() {// NumberFormatException。返回定义在SpringMVC配置文件里的number视图Integer.parseInt("abc");}@RequestMapping("/default")public void testDefaultException() {if (1 == 1)// 因为该异常类型在SpringMVC的配置文件里没有指定,所以就会返回默认的exception视图throw new RuntimeException("Error!");}
}

显示错误的jsp页面(已error.jsp为例)

<body><%Exception e = (Exception)request.getAttribute("exception");out.print(e.getMessage());%>
</body>

測试URL:   http://localhost:8080/spring_exception/null

http://localhost:8080/spring_exception/number

http://localhost:8080/spring_exception/default

项目源代码下载:http://download.csdn.net/detail/itmyhome/7382465

springMVC3学习(八)--全球异常处理相关推荐

  1. JavaSE学习总结(八)—— 异常处理(Exception)

    JavaSE学习总结(八)-- 异常处理(Exception) 参考文章: (1)JavaSE学习总结(八)-- 异常处理(Exception) (2)https://www.cnblogs.com/ ...

  2. 斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快

    斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快 近日,斯坦福大学发布了DAWNBenchmark最新成绩,在图像识别(ResNet50-on-ImageNet,93%以上精度) ...

  3. springMVC3学习--ModelAndView对象(转)

    原文链接:springMVC3学习(二)--ModelAndView对象 当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherS ...

  4. 方差 标准差_方差与标准差——杭州市初中数学核心组寒假微课学习八年级第38课...

    国家正值非常时期,开学已经推迟,为响应"在推迟开学时段,指导各地各校充分利用'互联网+'的模式共享优质教育资源,开展远程教育教学活动和学生课业辅导,努力实现我市广大中小学校学'停课不停学', ...

  5. OpenCV与图像处理学习八——图像边缘提取(Canny检测代码)

    OpenCV与图像处理学习八--图像边缘提取(Canny检测代码) 一.图像梯度 1.1 梯度 1.2 图像梯度 二.梯度图与梯度算子 2.1模板卷积 2.2 梯度图 2.3 梯度算子 2.3.1 R ...

  6. PyTorch框架学习八——PyTorch数据读取机制(简述)

    PyTorch框架学习八--PyTorch数据读取机制(简述) 一.数据 二.DataLoader与Dataset 1.torch.utils.data.DataLoader 2.torch.util ...

  7. JMS学习八(ActiveMQ消息持久化)

    JMS学习八(ActiveMQ消息持久化) ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,还有一种内存存储的方式,由于内存不属于持久化范畴,而且如果使用内存队列,可 ...

  8. 推荐系统遇上深度学习(八十七)-[阿里]基于搜索的用户终身行为序列建模

    本文介绍的论文是<Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Thr ...

  9. [Java并发包学习八]深度剖析ConcurrentHashMap

    转载----http://qifuguang.me/2015/09/10/[Java并发包学习八]深度剖析ConcurrentHashMap/ HashMap是非线程安全的,并发情况下使用,可能会导致 ...

最新文章

  1. 教育部公布:清华北大等12校首批开设“未来技术学院”,它们都设置了哪些专业?...
  2. ECharts问题--柱状图和折线图中xAxis.data为空时报错问题解决
  3. Slack:日活跃用户50万人、6周增幅35%造就奇迹
  4. android slidingdrawer 方向,如何使Android SlidingDrawer从左侧滑出?
  5. 提出智能扰动方法!字节跳动隐私保护论文入选 NeurIPS 2020 联邦学习Workshop
  6. 26、Windows API Shell编程(2)
  7. 基于python的在线考试系统-Python程序设计考试系统的开发与应用.pdf
  8. docker如何进入后台容器
  9. 项目启动报 myql字符集报错的问题
  10. 图片一句话木马简单制作方法
  11. 纯净网站导航纯html无后台,仿360网址导航源码纯html页面无后台易操作修改无加密有留言后台...
  12. 微信公众号之自定义菜单
  13. Java正则表达式通过User-Agent获取IOS版本
  14. variable argument parameter的区别
  15. 【逗老师带你考IE】如何快速通过HCIE考试
  16. 机械中计算机的应用研究,机械设计制造自动化中计算机技术的应用
  17. 萌新如何用板绘画好原画?怎么选择数位板?零基础板绘入门干货篇
  18. 静息态fMRI+图论研究:难治性精神分裂症的脑功能网络
  19. 计算机专业方面需要显卡,屏幕、显卡最重要 设计类电脑选购指南
  20. 普中C51烧录时芯片超时可能的原因

热门文章

  1. 【unity】解决 2d-extras 的 CustomRuleTileMenu 脚本报错的问题
  2. DataGridView 控件中DataBind( )方法不能使用的情况的解决方案
  3. C#爬网页时“远程服务器返回错误: (403) 已禁止”解决方法
  4. 如果不需要CSS隐藏滚动条
  5. 如何在Node.js中处理POST数据?
  6. oracle安装错误10301,Oracle数据库案例整理-Oracle系统运行时故障-表空间所在的目录没有可用空间导致收集统计信息失败...
  7. hdfs mv命令_Hadoop2.x HDFS shell命令
  8. JAVA:Eclipse代码和xml文件的智能提示
  9. 电子商务的核心是不是计算机技术,电子商务的核心内容是网络营销
  10. linux 下生成中文pdf,Linux itex pdf生成中文不显示