Springboot 处理错误页 二

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32048567/article/details/88389961
   Springboot 处理错误页

错误页面绝对是所有的WEB项目之中必须具有的一项信息显示处理 但是在传统WEB项目开发过程之中,错误页面都是在web.xml文件之中进行配置的 不过遗憾的是Springboot 之中并不存在有web.xml配置 如果需要进行错误页的处理,最好的做法是需要根据每个错误代码创建一个属于自己的错误显示页。


1.0 所有的错误页面都是普通的静态文件 那么在 /src/main/view/static 目录下创建几个常见的错误页(常见的错误的http 返回编码 404 500 400)

2.0 添加一个错误页的配置类 在启动类中编写一个错误页的配置项  在2.0版本之前 使用的是这个EmbeddedServletContainerCustomizer 类  2.0之后版本使用的是这个类WebServerFactoryCustomizer

package com.hema.demo7.config;

import org.springframework.boot.web.server.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;

@Configuration
public class ErrorPageConfig {
    /*****
     * 这个配置在2.0版本中就没有用这个了  2.0版本中使用的是这个WebServerFactoryCustomizer 类
     * @return
     */
    /*
    @Bean
    public  EmbeddedServletContainerCustomizer ontainerCustomizer(){
      return new EmbeddedServletContainerCustomizer(){
           @Override
           public void customize(EmbeddedServletContainer container ){
               ErrorPage errorPage400=new ErrorPage(HttpStatus.BAD_REQUEST,
               "/error-400.html");
                 ErrorPage errorPage404=new ErrorPage(HttpStatus.NOT_FOUND,
               "/error-404.html");
                    ErrorPage errorPage500=new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,
               "/error-500.html");
               container.addErrorPages(errorPage400,errorPage404,errorPage500);
           }
      }
    }*/

    /****
     * 配置错误项
     * @return
     */
    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory>  webServerFactoryCustomizer(){
        return  new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
            @Override
            public void customize(ConfigurableWebServerFactory factory) {
                    ErrorPage errorPage400 =new ErrorPage(HttpStatus.BAD_REQUEST,"/error-400.html");
                    System.out.println("出现了错误");
                    ErrorPage errorPage404 =new ErrorPage(HttpStatus.NOT_FOUND,"/error-404.html");
                    ErrorPage errorPage500 =new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error-500.html");
                    factory.addErrorPages(errorPage400,errorPage404,errorPage500);
            }
        };

    }

}

3.0 那么此时只要出现了错误,就会找到相应的http 状态码 ,而后跳转到指定的错误路径上进行显示 。

猜你喜欢

转载自blog.csdn.net/qq_32048567/article/details/88389961
今日推荐