SpringMVC异常处理之异常处理代码编写
<?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异常处理之异常处理代码编写相关推荐
- SpringMVC 中的异常处理
SpringMVC 中的异常处理 异常处理的思路 系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减 ...
- 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 ...
- springmvc请求参数异常处理
springmvc请求参数异常处理 参考文章: (1)springmvc请求参数异常处理 (2)https://www.cnblogs.com/nosqlcoco/p/5844160.html 备忘一 ...
- python等号语法错误_Python干货:代码编写规范
本章节我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍. 1.编写规则 Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守 ...
- Delphi程序员代码编写标准指南
Delphi 6 程 序 员 代 码 编 写 标 准 指 南 一.序言 二.通用源代码格式规则 2.1 缩格 2.2 页边空格 2.3 Begin-End 配对 2.4 代码文件中通用符号含义 三.O ...
- J2EE项目代码编写规范分享
码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 servle ...
- 【实用篇】Python代码编写规范
今天我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍. 1.编写规则 Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守的 ...
- 【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )
一. 中断控制 ( 基于 S3C6410 开发板 ) 1. 关闭中断的两个步骤 (1) 关闭中断步骤 2. CPRS 寄存器中的中断控制位 (1) CPRS 寄存器简介 (2) CPRS 寄存器 中断 ...
- 【嵌入式开发】ARM 处理器工作模式 及 修改方法 ( 处理器模式 | 设置处理器模式 | 程序状态字寄存器 CPSR SPSR | 模式设置代码编写 | 设置 svc 模式 )
一. 处理器工作模式相关介绍 1. 处理器模式简介 (1) 处理器工作模式分类 (2) 处理器不同工作模式区别 (3) Linux 系统运行的模式 (4) 特权模式 说明 (5) 异常模式 (6) 系 ...
- Delphi代码编写标准指南
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! · 日月 ...
最新文章
- 功率半导体碳化硅(SiC)技术
- JAVA之间的引用传递
- Kali Linux GRUB修复
- 万字综述,核心开发者全面解读PyTorch内部机制
- 2017-9-26 NOIP模拟赛
- 四窗口卖票 自己的票
- 【codevs1073】家族,胡写并查集
- 法院才是最童叟无欺的一元店
- C4D双十一促销海报模板,参考一下!
- JAVA中的多线程(八):线程的优先级和yield方法
- InnoDB在MySQL默认隔离级别下解决幻读
- github上看到的springboot做的后台管理系统,bootdo,适合大家学习入门
- 使用yq工具合并两个yml文件
- 创业者两大特征:喜欢折腾与坚持不懈
- 腾讯云云硬盘快速入门-挂载云硬盘
- Culling技术的一些介绍
- 机器学习流程是什么?简述机器学习流程!
- oracle中的declare
- 关于数学中“函数(function)”的含义
- PHP:【微信小程序】初识微信小程序,微信小程序配置