7.学习springmvc的异常处理

一.页面的异常处理流程

二.建立项目springmvc04_exception

1.编写index.jsp页面:

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7
 8 <h3>异常测试</h3>
 9
10 <a href="user/testException">异常测试</a>
11
12 </body>
13 </html>

2.编写控制器方法:

编写UserController:

 1 @Controller
 2 @RequestMapping("/user")
 3 public class UserController {
 4
 5     @RequestMapping("/testException")
 6     public String testException() throws SysException {
 7
 8         System.out.println("testException执行了...");
 9
10         //模拟异常
11         try {
12             int a = 10 / 0;
13         } catch (Exception e) {
14             //控制台打印异常信息
15             e.printStackTrace();
16
17             //抛出自定义异常信息
18             throw new SysException("testException执行出现异常....");
19         }
20         return "success";
21     }
22 }

编写异常处理类SysException:

 1 /**
 2  * 自定义异常处理类
 3  * @author USTC_WZH
 4  * @create 2019-12-04 0:03
 5  */
 6 public class SysException extends Exception {
 7
 8     //存储提示信息
 9     private String message;
10
11     public SysException(String message) {
12         this.message = message;
13     }
14
15     @Override
16     public String getMessage() {
17         return message;
18     }
19
20     public void setMessage(String message) {
21         this.message = message;
22     }
23 }

编写异常处理器SysExceptionResolver:

 1 /**
 2  * 异常处理器
 3  * @author USTC_WZH
 4  * @create 2019-12-04 0:07
 5  */
 6 public class SysExceptionResolver implements HandlerExceptionResolver {
 7
 8     /**
 9      * 处理异常业务逻辑
10      * @param httpServletRequest
11      * @param httpServletResponse
12      * @param o
13      * @param e
14      * @return
15      */
16     @Override
17     public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
18
19         //获得到异常对象
20         SysException syse = null;
21
22         if (e instanceof SysException){
23             syse = (SysException) e;
24         }else {
25             e = new SysException("系统正在维护...");
26         }
27
28         //创建ModelAndView对象存储和显示数据
29         ModelAndView mv = new ModelAndView();
30
31         mv.addObject("errorMsg",e.getMessage());
32         mv.setViewName("error");
33
34         return mv;
35     }
36 }

3.配置springmvc.xml的异常处理器:

1     <!--配置异常处理器-->
2     <bean id="sysExceptionResolver" class="edu.ustc.exception.SysExceptionResolver"></bean>

4.编写错误展示页面error.jsp:

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
 2 <html>
 3 <head>
 4     <title>error</title>
 5 </head>
 6 <body>
 7
 8 <h3>error页面</h3>
 9
10 ${errorMsg}
11 </body>
12 </html>

完成并展示:

原文地址:https://www.cnblogs.com/zhihaospace/p/11980494.html

时间: 2024-10-07 03:26:57

7.学习springmvc的异常处理的相关文章

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

python学习笔记十——异常处理

1.try: command except 错误类型,记录错误信息变量: command finally: command try...finally的用处是无论是否发生异常都要确保资源释放代码的执行.一般来说,如果没有发生错误,执行过try语句块之后执行finally语句块,完成整个流程.如果try语句块发生了异常,抛出了这个异常,此时就马上进入finally语句块进行资源释放处理.如下从几个细节讨论finally的特性. 1).try中的return: 当在try语句块中含有return语句

springMVC之异常处理

1. 自定义一个异常类: UserException.java public class UserException extends RuntimeException { private static final long serialVersionUID = 1L; public UserException() { super(); } public UserException(String message, Throwable cause) { super(message, cause);

springmvc的异常处理&amp;对静态的资源的处理

1 springmvc的异常处理方式,暂时我知道的两种 2 1.在controller中捕获 3 /** 4 * 捕获到异常,用于局部处理 5 * @ExceptionHandler (value={要捕获的异常,可以有多个}) 6 * @param e 7 * @param req 8 * @return 9 */ 10 @ExceptionHandler(value={UserException.class}) 11 public String handlerException(UserEx

SpringMVC 全局异常处理

在 JavaEE 项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大.SpringMvc 对于异常处理这块提供了支持,通过 SpringMvc 提供的全局异常处理机制,能够将所有类型的异常处从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护. 全局异常实现方式 Spring MVC

SpringBoot学习-SpringMVC自动配置

SpringBoot学习-SpringMVC自动配置 前言 在SpringBoot官网对于SpringMVCde 自动配置介绍 1-原文介绍如下: Spring MVC Auto-configuration Spring Boot provides auto-configuration for Spring MVC that works well with most applications. The auto-configuration adds the following features

2.学习SpringMVC注解入门篇

一.SpringMVC执行流程 . 二.创建项目学习SpringMVC注解 按照我之前的SpringMVC创建项目,首先创建一个项目springmvc01,配置好pom.xml,web.xml,springmvc.xml文件之后创建一个HelloController. 1.RequestMapping注解 1 //控制器类 2 @Controller 3 @RequestMapping("/user") 4 public class HelloController { 5 6 @Req

springMVC学习(9)-全局异常处理

一.异常处理思路: 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. 系统的dao.service.controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图: springmvc提供全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理. 二.自定义异常类 继承Exception 1 pa