<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 开启注解扫描 --><context:component-scan base-package="com.learn"/><!-- 视图解析器对象 --><bean id="internalResourceViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean><!--配置异常处理器--><bean id="sysExceptionResolver" class="com.learn.exception.SysExceptionResolver"/><!-- 开启SpringMVC框架注解的支持 --><mvc:annotation-driven /></beans>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><h3>异常处理</h3><a href="user/testException" >异常处理</a></body>
</html>
package com.learn.controller;import com.learn.exception.SysException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("/testException")public String testException() throws SysException{System.out.println("testException执行了...");try {// 模拟异常int a = 10/0;} catch (Exception e) {// 打印异常信息e.printStackTrace();// 抛出自定义异常信息throw new SysException("查询所有用户出现错误了...");}return "success";}}
package com.learn.exception;/*** 自定义异常类*/
public class SysException extends Exception{// 存储提示信息的private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public SysException(String message) {this.message = message;}}
package com.learn.exception;import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 异常处理器*/
public class SysExceptionResolver implements HandlerExceptionResolver{/*** 处理异常业务逻辑* @param request* @param response* @param handler* @param ex* @return*/public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {// 获取到异常对象SysException e = null;if(ex instanceof SysException){e = (SysException)ex;}else{e = new SysException("系统正在维护....");}// 创建ModelAndView对象ModelAndView mv = new ModelAndView();mv.addObject("errorMsg",e.getMessage());mv.setViewName("error");return mv;}}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head><title>Title</title>
</head>
<body>${errorMsg}</body>
</html>

SpringMVC异常处理之异常处理代码编写相关推荐

  1. SpringMVC 中的异常处理

    SpringMVC 中的异常处理 异常处理的思路 系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减 ...

  2. java day62【 响应数据和结果视图 、 SpringMVC 实现文件上传 、 SpringMVC 中的异常处理 、 SpringMVC 中的拦截器 】...

    第1章 响应数据和结果视图 1.1返回值分类 1.1.1 字符串 1.1.2 void 1.1.3 ModelAndView 1.2转发和重定向 1.2.1 forward 转发 1.2.2 Redi ...

  3. springmvc请求参数异常处理

    springmvc请求参数异常处理 参考文章: (1)springmvc请求参数异常处理 (2)https://www.cnblogs.com/nosqlcoco/p/5844160.html 备忘一 ...

  4. python等号语法错误_Python干货:代码编写规范

    本章节我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍. 1.编写规则 Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守 ...

  5. Delphi程序员代码编写标准指南

    Delphi 6 程 序 员 代 码 编 写 标 准 指 南 一.序言 二.通用源代码格式规则 2.1 缩格 2.2 页边空格 2.3 Begin-End 配对 2.4 代码文件中通用符号含义 三.O ...

  6. J2EE项目代码编写规范分享

    码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 servle ...

  7. 【实用篇】Python代码编写规范

    今天我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍. 1.编写规则 Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守的 ...

  8. 【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )

    一. 中断控制 ( 基于 S3C6410 开发板 ) 1. 关闭中断的两个步骤 (1) 关闭中断步骤 2. CPRS 寄存器中的中断控制位 (1) CPRS 寄存器简介 (2) CPRS 寄存器 中断 ...

  9. 【嵌入式开发】ARM 处理器工作模式 及 修改方法 ( 处理器模式 | 设置处理器模式 | 程序状态字寄存器 CPSR SPSR | 模式设置代码编写 | 设置 svc 模式 )

    一. 处理器工作模式相关介绍 1. 处理器模式简介 (1) 处理器工作模式分类 (2) 处理器不同工作模式区别 (3) Linux 系统运行的模式 (4) 特权模式 说明 (5) 异常模式 (6) 系 ...

  10. Delphi代码编写标准指南

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! · 日月 ...

最新文章

  1. 功率半导体碳化硅(SiC)技术
  2. JAVA之间的引用传递
  3. Kali Linux GRUB修复
  4. 万字综述,核心开发者全面解读PyTorch内部机制
  5. 2017-9-26 NOIP模拟赛
  6. 四窗口卖票 自己的票
  7. 【codevs1073】家族,胡写并查集
  8. 法院才是最童叟无欺的一元店
  9. C4D双十一促销海报模板,参考一下!
  10. JAVA中的多线程(八):线程的优先级和yield方法
  11. InnoDB在MySQL默认隔离级别下解决幻读
  12. github上看到的springboot做的后台管理系统,bootdo,适合大家学习入门
  13. 使用yq工具合并两个yml文件
  14. 创业者两大特征:喜欢折腾与坚持不懈
  15. 腾讯云云硬盘快速入门-挂载云硬盘
  16. Culling技术的一些介绍
  17. 机器学习流程是什么?简述机器学习流程!
  18. oracle中的declare
  19. 关于数学中“函数(function)”的含义
  20. PHP:【微信小程序】初识微信小程序,微信小程序配置

热门文章

  1. 自动监控主从MySQL同步的SHELL脚本
  2. 【分享】WeX5的正确打开方式(1)
  3. Android学习第二天-android常用命令
  4. tomcat压力测试、优化
  5. Asp.Net函数集
  6. 大话设计模式—外观模式
  7. 清理收藏夹中的json
  8. 世界地球日主题班会PPT教学课件模板
  9. idea 开发spark 程序代码
  10. 巧用云计算 突围移动APP行业乱象