springboot使用之四:错误页面404处理建议

每个项目可能都会遇到404,403,500等错误代码,如没有错误页面,则会给用户一个很不友好的界面,springboot项目同样也存在这个问题。

但在官方文档并没有相关配置信息,这就要求我们自己来实现了,查了下资料,并测试通过后,有一种方法比较简单可行。

对于springboot整合mvc这里就不赘述了,官方文档里有详细说明,这里针对错误页面404举个简单例子:

1.准备页面404.html,并将它放在templates目录下面

2.写一个配置类,并且实现接口EmbeddedServletContainerCustomizer ,如下:

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;

@Configuration
public class ErrorPageConfig implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404/"));
    }
}

3.写一个controller,用于转发错误页面

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ErrorPageController  {

    @RequestMapping("404")
    public String toPage(){
        return "404";
    }

}

这时候,如果你有找不到的页面,就可以转发到你设定的404页面了。

对于500,403等其他错误码,同样的道理。

时间: 2024-08-27 05:40:24

springboot使用之四:错误页面404处理建议的相关文章

SpringBoot中自定义错误页面

错误页面定制(在有模板引擎的情况下): 有模板的支持下: 在templates文件夹下 建立 error文件夹 在error文件夹下 404.html 500.html 4xx.html (名字就叫4xx.html)5xx.html 就像这样: 错误消息的定制: timestamp:时间戳 ? status:状态码 ? error:错误提示 ? exception:异常对象 ? message:异常消息 ? errors:JSR303数据校验的错误都在这里 通过[[${status}]]获取这样

翻译:ASP.NETMVC自定义错误页面真的简单吗?

如果你在设置asp.net mvc自定义错误页面时遇到问题,这并不止你一个人.惊讶之余你的做法是正确的,没有起到作用的原因是其一部分错误是由asp.net管道处理的,另一部分是由iis直接处理. 通常情况 (我期望是这种情况,在一些其他框架/服务器上) 我们只需要在一个地方配置自定义错误页就可以了,无论怎么哪儿引发的错误.就像这样︰ <customErrors mode="On"> <error code="404" path="404.

nginx下配置404错误页面

1.创建自己的404.html页面,并放于网站根目录. 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独的网站配置文件) 在server 区域加入: error_page 404 /404.html 或者 error_page 404 http://www.xxx.com/404.html(不建议用这个绝对路径,有人反映会返回200,但是我测试是可以的,两边不要=) 4.测试nginx.conf正

ASP.NET网站中设置404自定义错误页面

在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: <%@ Application Language="C#" %> <script runat="server"> void Application_Error(object sender, EventArgs e) { Response.Status

浅析制作404错误页面时应该注意的问题是那些

1.制作的404页面不要出现200状态码 当用户访问的页面不存在的时候,服务器只有返回404的错误状态码才算正常,有些站长设置了404页面之后,在访问这些不存在页面时, 服务器返回的却是200状态码,那么这样搜索引擎就会把这些错误页面当做是大量的重复页面来对待,因此这样不利于网站优化.另外最好也不要使用301重定向把错误的404页面直接跳转到首页,这样搜索引擎就会认为网站存在大量与首页内容相同的页面,另外最好不要使用低于10秒以下的跳转,比如JS或者meta refresh等,否则搜索引擎会认为

springboot自定义错误页面

springboot自定义错误页面 1.加入配置: @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return (container -> { ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html"); ErrorPage error404Page = new ErrorPage(Http

Springboot学习05-自定义错误页面完整分析

Springboot学习06-自定义错误页面完整分析 前言 接着上一篇博客,继续分析Springboot错误页面问题 正文 1-自定义浏览器错误页面(只要将自己的错误页面放在指定的路径下即可) 1-1-Springboot错误页面匹配机制(以404错误为例): 1-在模板引擎下:找templates/error/404.html;如果没有,则继续匹配 2-在模板引擎下:找templates/error/4XX.html;如果没有,则继续匹配 3-在静态资源下:找static/error/404.

20个国外创意404错误页面设计

404重要吗?看看这些创意无限的优秀404页面设计,有的胜在形式,有的胜在文案.不管是什么样的方式,能吸引用户停留看完就是一个好的404页面. kitkat.com squarespace.com roxanejammet.com emailcenteruk.com lissasleeckx.be onsydney.com.au facebook.com etsy.com browsermedia.com juicygraphics.net klout.com grainandmortar.co

在ASP.NET MVC3项目中,自定义404错误页面

在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置        <customErrors mode="On" defaultRedirect="~/Index/Error404">          <error statusCode