spring boot 实现全局404页面「建议收藏」

spring boot 实现全局404页面「建议收藏」springBoot2.0版本以下importorg.springframework.boot.autoconfigure.web.ErrorController;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

springBoot2.0版本以下

import org.springframework.boot.autoconfigure.web.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class MainsiteErrorController implements ErrorController {
 
	private static final String ERROR_PATH = "/error";
 
	@RequestMapping(value = ERROR_PATH)
	public String handleError() {
		return "404";
	}
 
	@Override
	public String getErrorPath() {
		// TODO Auto-generated method stub
		return ERROR_PATH;
	}
 
}

SpringBoot2.0版本以上

注意:

  1. 404.html一定要建在template/static下面,否则无效。
  2. new ErrorPage可以重定向具体的html也可以重定向请求地址,如/404,那就需要添加/404的Controller

第一种写法:实现ErrorPageRegistrar

@Configuration
public class ErrorConfigurar implements ErrorPageRegistrar {
 
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        ErrorPage[] errorPages = new ErrorPage[2];
        errorPages[0] = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
        errorPages[1] = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
 
        registry.addErrorPages(errorPages);
    }
}

第二种写法:SpringBoot2.0之前的写法

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "404.html");
            container.addErrorPages(errorPage404);
        }
    };
}

第三种:SpringBoot2.0之后的写法

@Configuration
public class ErrorPageConfig {
    /**
     * SpringBoot2.0以上版本WebServerFactoryCustomizer代替之前版本的EmbeddedWebServerFactoryCustomizerAutoConfiguration
     *
     * @return
     */
 
    //@Bean必须加上
    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
//        //第一种:java7 常规写法
//        return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
//            @Override
//            public void customize(ConfigurableWebServerFactory factory) {
//                ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
//                factory.addErrorPages(errorPage404);
//            }
//        };
        //第二种写法:java8 lambda写法
        return (factory -> {
            ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
            factory.addErrorPages(errorPage404);
        });
    }
 
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164566.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]

    不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]SpringBoot现在这么火几乎是面试必问,如果你能说出点源码是如果实现的,那么面试官跟定对你刮目相看。但是好多同学往往在部署SpringBoot源码的时候,由于找不到门路而选择放弃。本篇博客通过简单方式教你如果将SpringBoot源码导入IDEA并对其进行调试,对核心的代码添加自己注释内容。

  • ewebeditor漏洞大全

    ewebeditor漏洞大全1:默认管理后台: http://www.backlion.com/ewebeditor/admin_login.asp后台如果能进入:可点击样式管理:standard拷贝一份(直接修改改不了)在拷贝的一份里加入图片类型(asaaaspsp)  然后点预览在编辑器里点设计   然后直接上传asa大马.上传后在代码里可以看到马的位置!

  • sm4 前后端 加密_sm4加密[通俗易懂]

    sm4 前后端 加密_sm4加密[通俗易懂]前言项目里需要用到sm4加密,在这里记录一下(springboot)。依赖bouncycastleorg.bouncycastlebcmail-jdk15on1.66cn.hutoolhutool-all5.4.1代码直接贴代码,可以根据自己的需要封装相对应的代码逻辑。//需要注意的是,使用KeyGenerator生成密钥种子的时候,windows和linux上会产生不一致。//例如:KeyGen…

  • mvc3_bootstrap和数据库交互

    mvc3_bootstrap和数据库交互对于MVC的编程,主要应该先了解M(模型)-V(视图)-C(控制器)的相关概念,并进而理解相关的框架类别及操作方法.

  • Vmware安装Ubuntu16.4、Ubuntu里安装python3.9、Ubuntu安装PyCharm的过程及出现的问题的解决[通俗易懂]

    Vmware安装Ubuntu16.4、Ubuntu里安装python3.9、Ubuntu安装PyCharm的过程及出现的问题的解决[通俗易懂]目录1、VMware安装Ubuntu16.4虚拟机1.1、下载Ubuntu镜像文件1.2、安装Ubuntu虚拟机1.2、装Ubuntu系统和虚拟机工具1.3、解决Ubuntu不能全屏显示1.4、设置共享文件夹1.4.1、主机上的文件夹设置1.4.2、虚拟机上的设置1.5、解决/mnt下没有hgfs文件夹1.6、解决找不到共享文件夹的问题1.7、解决重启后共享文件夹没有了的问题2、Ubuntu安装Python3.92.1、安装Python3.92.

  • Matlab画三维图_读书笔记图画

    Matlab画三维图_读书笔记图画plot3基本的三维曲线图绘制plot3(x,y,z),x,y,z均为相同长度的向量,会得到三个向量相同下标构成的的三维坐标(xi,yi,zi)(i=1~n)连的曲线plot3(X,Y,Z),X,Y,Z均为相同大小的矩阵,均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线例三维圆柱形螺旋线,x,y,z均为相同长度的向量cl

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号