信息发布→ 登录 注册 退出

springboot 自定义404、500错误提示页面的实现

发布时间:2026-01-11

点击量:
目录
  • springboot 默认的异常处理机制
  • 使用模板引擎
    • 使用示例
  • 没有使用模板引擎

    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}" rel="external nofollow"  rel="external nofollow" />
        <link rel="stylesheet" type="text/css" th:href="@{/css/404.css}" rel="external nofollow" />
    </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}" rel="external nofollow"  rel="external nofollow" />
        <link rel="stylesheet" type="text/css" th:href="@{/css/500.css}" rel="external nofollow" />
    </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错误提示页面的实现的文章就介绍到这了,更多相关springboot 自定义错误页面内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!