解决Springboot项目中很多页面出现Whitelabel Error Page(404)的问题

 更新时间:2024年02月02日 10:33:20   作者:十幺卜入  
最近在接手的前后端项目中发现其默认路径不是主机+端口(如:http://localhost:3453/)的形式,很多页面的访问是加了一个层级,只要访问页面就会出现Whitelabel Error Page(404),所以本文给大家提供了解决方案,需要的朋友可以参考下

前言

最近接了一个前后端一体的项目,发现其默认路径不是主机+端口(如:http://localhost:3453/)的形式。很多页面的访问是加了一个层级。只要访问就会出现如下提示:

在这里插入图片描述

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. There was an unexpected
error (type=Not Found, status=404). No message available

对我这里而言就是访问不到页面,也就是常见的404错误。

解决

我的解决思路是在找不到网页404时,给出提示,并提供倒计时5秒后自动跳转至登录页/或者首页。

效果如图:

在这里插入图片描述

这就需要将404错误(HttpStatus.NOT_FOUND)页面数组注册到错误页面注册器中。首先需要后端的配置类中实现全局错误页面注册类ErrorPageRegistrar:

@Configuration
public class ErrorCodePageHandler implements ErrorPageRegistrar {

   @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        ErrorPage[] errorPages = new ErrorPage[1];
        // 404错误页面映射
        errorPages[0] = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); //这里写入你的页面路径
        registry.addErrorPages(errorPages);
    }
}

这样就会在找不到页面的时候打开你的自定义404页面,我个人测试的404页面如下:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
  <meta charset="UTF-8">
  <title>404 找不到</title>
  <style>
    html,body{
      width: 100%;
      height: 100%;
    }
    h1{
      margin-top: 10%;
      width: 100%;
      text-align: center;
      height: 80px;
      font-size: 60px;
    }
    p {
      width: 100%;
      height: 40px;
      text-align: center;
      font-size: 30px;
    }
    div{
      width: 100%;
      align-content: center;
      text-align: center;
    }
    #tipDiv{
      color: #761c19;
    }
    a {
      width: 100%;
      color: #0066cc;
      text-align: center;
    }
  </style>
</head>
<body>
<h1>哦豁!</h1>
<p>你查找的网页不存在。</p>
<div id="tipDiv"></div>
<div>
  <a id="goBtn">直接跳转</a>
</div>
<script>
  var goBtn = document.getElementById('goBtn');
  var tipDiv = document.getElementById('tipDiv');

  var dreUrl = ""; //这里是你的跳转连接
  goBtn.addEventListener('click',function(){
    location.href = dreUrl;
  });

  var timer =5;
  setInterval(function(){
    if(timer == 0){
      location.href = dreUrl;
    }else {
      tipDiv.innerHTML ='您将在'+timer +'秒后自动跳转页面';
      timer--;
    }
  },1000);

</script>
</body>
</html>

这个404页面的功能很简单,主要就是使用了setInterval进行每秒的倒计时提示,并在计时结束后自动跳转至你指定的页面。同时提供了直接的跳转按钮。样式比较粗糙仅供学习参考。

以上就是解决Springboot项目中页面出现Whitelabel Error Page(404)的问题的详细内容,更多关于Springboot Whitelabel Error Page(404)的资料请关注脚本之家其它相关文章!

相关文章

  • spring boot 项目利用Jenkins实现自动化部署的教程详解

    spring boot 项目利用Jenkins实现自动化部署的教程详解

    这篇文章主要介绍了spring boot 项目利用Jenkins实现自动化部署的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Java中实现汉字生成拼音首拼和五笔码

    Java中实现汉字生成拼音首拼和五笔码

    这篇文章主要介绍了Java中实现汉字生成拼音首拼和五笔码方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Springboot整合Redis最简单例子分享

    Springboot整合Redis最简单例子分享

    这篇文章主要介绍了Springboot整合Redis最简单例子分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 如何使用@Slf4j和logback-spring.xml搭建日志框架

    如何使用@Slf4j和logback-spring.xml搭建日志框架

    这篇文章主要介绍了如何使用@Slf4j和logback-spring.xml搭建日志框架问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • SpringBoot拦截器与文件上传实现方法与源码分析

    SpringBoot拦截器与文件上传实现方法与源码分析

    其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了。本文主要给大家介绍了关于如何在Springboot实现登陆拦截器与文件上传功能,需要的朋友可以参考下
    2022-10-10
  • SpringBoot3.2.2整合MyBatis Plus3.5.5的详细过程

    SpringBoot3.2.2整合MyBatis Plus3.5.5的详细过程

    这篇文章给大家介绍了SpringBoot3.2.2整合MyBatis Plus3.5.5的详细过程,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • Java遍历Map对象集合的六种方式代码示例

    Java遍历Map对象集合的六种方式代码示例

    Java中的Map是一种键值对映射的数据结构,它提供了一些常用的方法用于获取、添加、删除和修改元素,下面这篇文章主要给大家介绍了关于Java遍历Map对象集合的六种方式,需要的朋友可以参考下
    2024-02-02
  • Java毕业设计实战之健身俱乐部管理系统的实现

    Java毕业设计实战之健身俱乐部管理系统的实现

    这是一个使用了java+SSM+Mysql+Jsp开发的健身俱乐部管理系统,是一个毕业设计的实战练习,具有俱乐部管理该有的所有功能,感兴趣的朋友快来看看吧
    2022-02-02
  • IDEA删除的文件怎么找回更新的方法

    IDEA删除的文件怎么找回更新的方法

    查找本地历史记录IDEA在进行代码版本管理时,会自动创建本地历史记录,如果我们误删了文件,可以通过查找本地历史记录来找回文件,本文就来介绍一下
    2023-11-11
  • 在Linux系统上升级Java版本的两种方法步骤

    在Linux系统上升级Java版本的两种方法步骤

    由于项目升级,需要将JDK7升级到JDK8,升级JDK的同时也要升级一些其他的版本,下面这篇文章主要给大家介绍了关于在Linux系统上升级Java版本的两种方法步骤,需要的朋友可以参考下
    2024-09-09

最新评论