SpringBoot异常处理机制之自定义404、500错误提示页面
目录
- `SpringBoot` 自定义 `404、500` 错误页面
- `SpringBoot` 默认的异常处理机制
- 使用模板引擎
- 使用示例
- 创建 `SpringBoot` 项目如下
- `application.properties` 项目配置文件
- `404` 页面内容如下
- `500` 页面内容如下
- `Controller` 如下
- `404.html` 页面测试
- `500.html` 页面测试
- 没有使用模板引擎
SpringBoot
自定义 404、500
错误页面
SpringBoot
默认的异常处理机制
SpringBoot
默认已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot
会向 /error
的 url
发送请求。在 SpringBoot
中提供了一个名为 BasicErrorController
的类来处理 /error
请求,然后跳转到默认显示异常的页面来展示异常信息
使用模板引擎
在使用 thymeleaf
等模板引擎时,SpringBoot
会自动到 src/main/resources/templates/error/
,文件夹下寻找 404.html、500.html
的错误提示页面
错误提示页面的命名规则就是:错误码.html
,如 404
是 404.html
,500
是 500.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错误提示页面相关推荐
- TP6 自定义404,错误提示页面
记录:自定义TP6404及错误提示页面. 1,配置config下的app.php配置文件 'exception_tmpl' => app()->isDebug()==true ? app( ...
- python自定义全局异常_Django 自定义404 500等错误页面的实现
在开发网站的过程中,404,500错误,是不可避免产生的. 一旦产生了这种错误,很多可以通过web server 来处理.比如使用 apache 的定义 或者nginx 的定义.都可以定向处理.如果单 ...
- 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】
[thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法] 参考文章: (1)[thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方 ...
- html500错误原因1003无标题,web工程中404/500错误页面配置+404页面模板
[实例简介] web工程中404/500错误页面配置+404页面模板 [实例截图] [核心代码] 247959a9-c3ea-4360-8e57-105d680b29f0 ├── 404页面模板 │ ...
- iis php网站500错误原因_因为曾经错误安装过PHP5.2而导致IIS7无法正常工作,显示500错误提示,大家帮忙看看!...
我的系统是VISTA,使用自带的IIS7,对ASP网页一直浏览正常.最近因自己心血来潮错误安装了一次PHP5.2.主要操作是: 1.下载的是自动安装的PHP5.2程序,自动选ISAPI按钮安装: 2. ...
- php网页报错500,phpweb 500错误提示 排查修复
phpweb 500错误一般包括以下四种情况, 第一种情况的几率大一些. 一.PHPWEB网站某个页面突然出现500错误,其它页面都正常的情况下,最大的可能性是一个页面增加了两个翻页插件. 解决办法: ...
- SpringBoot异常处理-自定义错误页面
自定义错误页面 SpringBoot 默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制. 一旦程序中出现了异常SpringBoot 会像/error 的url 发送请求. ...
- Laravel 5.5 的错误异常处理机制以及应用实例
一.前言 我们在开发项目中,难免会因为逻辑上的失误而报错,这些报错的展现形式也就是框架封装好的异常处理机制.在项目上线之前,我们还可以根据框架提供的报错信息来锁定错误代码的位置.但是项目上线之后我们是 ...
- tomcat配置400/404/500类型的错误页面,修改项目默认路径,修改默认项目
修改项目默认路径,修改默认项目 http://xxx.xxxxxx.xxx 直接访问 找到tomcat路径中conf文件夹下server.xml文件找到 <Host name="l ...
- 极富创意的404错误个性页面设计欣赏
404错误编码表示服务器找不到指定的页面,这个错误提示页面是可以自定义的,所以很多有创意的人设计了很多有趣的404页面.挑选一些有创意的404错误页面,大家一起来欣赏吧! 字典形式 卡通娃娃来凑趣 清 ...
最新文章
- 查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试
- leetcode算法题--Letter Case Permutation
- 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
- Wargame.kr_Web:already got
- python3moduleoftheweek中文_[翻译]Python Module of The Week: Counter
- Android ViewPager指示器
- 【JS 逆向百例】X球投资者社区 cookie 参数 acw_sc__v2 加密分析
- MySQL读写分离详解(二)——MyCAT实战配置
- 安装anaconda,jupyter基本操作说明快捷键使用
- Java基础——java代码规范详细版
- 大数据未来趋势和实用价值
- 福禄克FLUKE BT521 BT520 BT510 BT508护航储能电池安全
- 网上赚钱新途径:这些方法简单又有效!
- 猿创征文 | Python 开发工具进化之旅
- 关于联想Y700,玩游戏闪屏
- 怎么解决联想笔记本电脑待机后黑屏无法唤醒
- java实现24点计算
- gcc开启C99或C11标准支持
- GaussDB - 浅析华为高斯GaussDB
- easyMock服务搭建及使用
热门文章
- 互联网搜索 解决问题的心法 找什么 哪里找 怎么找
- 阿里云云计算 44 云计算常见威胁
- 阿里云云计算 33 PolarDB的优势 产品架构
- 手动安装.app到模拟器simulator, iOS XCode 11
- Charles 导出所有request, response, cookie, 导出为HTTP Archive .har
- 230.二叉搜索树中第K小的元素
- 保密检查usb痕迹清除_MD型卧式多级泵泵轴抱死故障原因分析和检查维修处理
- 浅谈算法和数据结构: 三 合并排序
- Deep Learning Notes: Chapter 1 Introduction
- 机器学习数学基础之极限