目录

  • `SpringBoot` 自定义 `404、500` 错误页面
    • `SpringBoot` 默认的异常处理机制
    • 使用模板引擎
      • 使用示例
        • 创建 `SpringBoot` 项目如下
        • `application.properties` 项目配置文件
        • `404` 页面内容如下
        • `500` 页面内容如下
        • `Controller` 如下
        • `404.html` 页面测试
        • `500.html` 页面测试
    • 没有使用模板引擎

SpringBoot 自定义 404、500 错误页面

SpringBoot 默认的异常处理机制

SpringBoot 默认已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向 /errorurl 发送请求。在 SpringBoot 中提供了一个名为 BasicErrorController 的类来处理 /error 请求,然后跳转到默认显示异常的页面来展示异常信息

使用模板引擎

在使用 thymeleaf 等模板引擎时,SpringBoot 会自动到 src/main/resources/templates/error/,文件夹下寻找 404.html、500.html 的错误提示页面

错误提示页面的命名规则就是:错误码.html,如 404404.html500500.html

使用示例

创建 SpringBoot 项目如下

404、500 错误提示页面结构如下

application.properties 项目配置文件

server.port=8080#它的默认值就是classpath:/templates/,源码在ThymeleafProperties类中
spring.mvc.view.prefix=classpath:/templates/
#它的默认值就是.html,源码在ThymeleafProperties类中
spring.mvc.view.suffix=.html
spring.thymeleaf.cache=false

404 页面内容如下

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>404</title><link rel="shortcut icon" type="image/x-icon" th:href="@{/img/favicon.ico}"/><link rel="stylesheet" type="text/css" th:href="@{/css/404.css}"/>
</head>
<body><div id="banner" style="height: 600px;width: 600px;margin-left: 370px"></div>
</body>
</html>

500 页面内容如下

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>500</title><link rel="shortcut icon" type="image/x-icon" th:href="@{/img/favicon.ico}"/><link rel="stylesheet" type="text/css" th:href="@{/css/500.css}"/>
</head>
<body><div id="banner" style="height: 600px;width: 600px;margin-left: 370px"></div>
</body>
</html>

Controller 如下

@Controller
public class PageController {// 跳转到登录页@GetMapping(path = "/toLogin")public String toLogin() {int code = 1/0;return "login";}
}

404.html 页面测试

访问不存在的接口:http://localhost:8080/aaaa,结果如下

500.html 页面测试

访问已存在的接口:http://localhost:8080/toLogin,结果如下

没有使用模板引擎

如果没有使用 thymeleaf 等模板引擎时,SpringBoot 会到静态资源文件夹寻找 404.htm、500.html的错误提示页面,命名同上。SpringBoot 中默认的静态资源路径有 4 个,分别是

  • classpath:/METAINF/resources/
  • classpath:/resources/
  • classpath:/static/
  • classpath:/public/

优先级顺序为:META-INF/resources > resources > static > public,以上 4 种路径创建 error 文件夹,再创建 404、500 错误提示页面如下


不用写额外的映射器,就能直接请求到

SpringBoot异常处理机制之自定义404、500错误提示页面相关推荐

  1. TP6 自定义404,错误提示页面

    记录:自定义TP6404及错误提示页面. 1,配置config下的app.php配置文件 'exception_tmpl' => app()->isDebug()==true ? app( ...

  2. python自定义全局异常_Django 自定义404 500等错误页面的实现

    在开发网站的过程中,404,500错误,是不可避免产生的. 一旦产生了这种错误,很多可以通过web server 来处理.比如使用 apache 的定义 或者nginx 的定义.都可以定向处理.如果单 ...

  3. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

    [thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法] 参考文章: (1)[thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方 ...

  4. html500错误原因1003无标题,web工程中404/500错误页面配置+404页面模板

    [实例简介] web工程中404/500错误页面配置+404页面模板 [实例截图] [核心代码] 247959a9-c3ea-4360-8e57-105d680b29f0 ├── 404页面模板 │  ...

  5. iis php网站500错误原因_因为曾经错误安装过PHP5.2而导致IIS7无法正常工作,显示500错误提示,大家帮忙看看!...

    我的系统是VISTA,使用自带的IIS7,对ASP网页一直浏览正常.最近因自己心血来潮错误安装了一次PHP5.2.主要操作是: 1.下载的是自动安装的PHP5.2程序,自动选ISAPI按钮安装: 2. ...

  6. php网页报错500,phpweb 500错误提示 排查修复

    phpweb 500错误一般包括以下四种情况, 第一种情况的几率大一些. 一.PHPWEB网站某个页面突然出现500错误,其它页面都正常的情况下,最大的可能性是一个页面增加了两个翻页插件. 解决办法: ...

  7. SpringBoot异常处理-自定义错误页面

    自定义错误页面 SpringBoot 默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制. 一旦程序中出现了异常SpringBoot 会像/error 的url 发送请求. ...

  8. Laravel 5.5 的错误异常处理机制以及应用实例

    一.前言 我们在开发项目中,难免会因为逻辑上的失误而报错,这些报错的展现形式也就是框架封装好的异常处理机制.在项目上线之前,我们还可以根据框架提供的报错信息来锁定错误代码的位置.但是项目上线之后我们是 ...

  9. tomcat配置400/404/500类型的错误页面,修改项目默认路径,修改默认项目

    修改项目默认路径,修改默认项目  http://xxx.xxxxxx.xxx  直接访问 找到tomcat路径中conf文件夹下server.xml文件找到 <Host name="l ...

  10. 极富创意的404错误个性页面设计欣赏

    404错误编码表示服务器找不到指定的页面,这个错误提示页面是可以自定义的,所以很多有创意的人设计了很多有趣的404页面.挑选一些有创意的404错误页面,大家一起来欣赏吧! 字典形式 卡通娃娃来凑趣 清 ...

最新文章

  1. 查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试
  2. leetcode算法题--Letter Case Permutation
  3. 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
  4. Wargame.kr_Web:already got
  5. python3moduleoftheweek中文_[翻译]Python Module of The Week: Counter
  6. Android ViewPager指示器
  7. 【JS 逆向百例】X球投资者社区 cookie 参数 acw_sc__v2 加密分析
  8. MySQL读写分离详解(二)——MyCAT实战配置
  9. 安装anaconda,jupyter基本操作说明快捷键使用
  10. Java基础——java代码规范详细版
  11. 大数据未来趋势和实用价值
  12. 福禄克FLUKE BT521 BT520 BT510 BT508护航储能电池安全
  13. 网上赚钱新途径:这些方法简单又有效!
  14. 猿创征文 | Python 开发工具进化之旅
  15. 关于联想Y700,玩游戏闪屏
  16. 怎么解决联想笔记本电脑待机后黑屏无法唤醒
  17. java实现24点计算
  18. gcc开启C99或C11标准支持
  19. GaussDB - 浅析华为高斯GaussDB
  20. easyMock服务搭建及使用

热门文章

  1. 互联网搜索 解决问题的心法 找什么 哪里找 怎么找
  2. 阿里云云计算 44 云计算常见威胁
  3. 阿里云云计算 33 PolarDB的优势 产品架构
  4. 手动安装.app到模拟器simulator, iOS XCode 11
  5. Charles 导出所有request, response, cookie, 导出为HTTP Archive .har
  6. 230.二叉搜索树中第K小的元素
  7. 保密检查usb痕迹清除_MD型卧式多级泵泵轴抱死故障原因分析和检查维修处理
  8. 浅谈算法和数据结构: 三 合并排序
  9. Deep Learning Notes: Chapter 1 Introduction
  10. 机器学习数学基础之极限