解决Springboot项目中很多页面出现Whitelabel Error Page(404)的问题
作者:十幺卜入
最近在接手的前后端项目中发现其默认路径不是主机+端口(如: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)的资料请关注脚本之家其它相关文章!