zoukankan      html  css  js  c++  java
  • 框架 Spring Boot 技术入门到整合 7-1 Springboot配置全局的异常捕获 -web页面跳转

    0    课程地址

    https://www.imooc.com/video/16723/0

    1    本节介绍

    发生异常不在界面显示500,404等业务人员看不明白的错误,转化为易读懂的方式。

    2    异常捕获demo
    2.1  异常捕获demo

    ErrorHandler.java  控制层

    package com.example.demo.exception;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * ErrorHandler
     *
     * @author 魏豆豆
     * @date 2020/12/6
     */
    @Controller
    /**
     *@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解
     */
    
    @RequestMapping("/error")
    public class ErrorHandler {
    
        @RequestMapping("/err")
        public String error(){
            int a = 1/0;
            return "templates/error";
    
        }
    }

    异常捕获类  IMoocExceptionHandler.java

    此处可以看看@ControllerAdvice 常用三种处理方式

    https://www.cnblogs.com/lenve/p/10748453.html

    package com.example.demo.exception;
    
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * IMoocExceptionHandler
     *
     * @author 魏豆豆
     * @date 2020/12/6
     */
    @ControllerAdvice
    //全局异常处理
    public class IMoocExceptionHandler { //定义报错常量 public static final String ERROR_VIEW = "error"; @ExceptionHandler(value = Exception.class) public Object errorHandler(HttpServletRequest request, HttpServletResponse response,Exception e) throws Exception{ e.printStackTrace(); ModelAndView mav = new ModelAndView(); mav.addObject("url",request.getRequestURI()); mav.addObject("exception",e); mav.setViewName(ERROR_VIEW); return mav; } }

    error.html

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8" />
        <title>捕获全局异常</title>
    </head>
    <body>
        <h1 style="color: red">发生错误:</h1>
        <div th:text="${url}"></div>
        <div th:text="${exception.message}"></div>
    </body>
    </html>

    测试结果:

  • 相关阅读:
    linux 命令——48 watch (转)
    linux 命令——47 iostat (转)
    linux 命令——46 vmstat(转)
    linux 命令——45 free(转)
    linux 命令——44 top (转)
    linux 命令——43 killall(转)
    linux 命令——42 kill (转)
    linux 命令——41 ps(转)
    linux 命令——40 wc (转)
    Java for LeetCode 068 Text Justification
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/14092721.html
Copyright © 2011-2022 走看看