zoukankan      html  css  js  c++  java
  • SpringBoot自定义全局异常返回页面

    返回自定义异常界面,需要引入thymeleaf依赖(非必须,如果是简单的html界面则不用)

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    resource目录下新建templates,并新建error.html

    application.properties

    spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/
    # session失效时间,30m表示30分钟
    server.servlet.session.timeout=30m

    CustomExtHandler.java

    package net.cyb.demo.handler;
    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;
    
    /**
     * 标记这是一个异常处理类
     */
    @ControllerAdvice
    public class CustomExtHandler {
        @ExceptionHandler(value = Exception.class)
        ModelAndView HandlerException(Exception e, HttpServletRequest request){
            ModelAndView modelAndView=new ModelAndView();
            //错误页路径
            modelAndView.setViewName("error.html");
            modelAndView.addObject("msg",e.getMessage());
            return modelAndView;
        }
    }

    error.html

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thjymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    这个是自定义异常界面
    <p th:text="${msg}"></p>
    </body>
    </html>

  • 相关阅读:
    Dubbo支持的协议的详解
    db2 SQL6036N解决办法
    9-5 HTTP注解演示及注意事项讲解
    9-4 Feign之HTTP注解介绍
    9-3 Feign演示及Feign注解解析
    9-2 Feign环境准备
    9-1 Feign自我介绍
    8-30 Hystrix章节总结
    8-29 实战技巧:如何设置线程池
    8-28 Hystrix监控讲解与演示
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/13238134.html
Copyright © 2011-2022 走看看