日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot自定义错误页面

發(fā)布時(shí)間:2024/1/23 javascript 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot自定义错误页面 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Spring Boot以一種新的微服務(wù)的方式來替代以Spring Framework構(gòu)建項(xiàng)目的傳統(tǒng)方式,我已經(jīng)計(jì)劃在后續(xù)的項(xiàng)目開發(fā)中使用它。它已經(jīng)幫我們做了90%的工作,剩下10%的工作需要我們自己去完成。對(duì)于我來說,自定義錯(cuò)誤頁面就是其中之一。比如404錯(cuò)誤,如果不處理的話,會(huì)出現(xiàn)“This application has no explicit mapping for /error, so you are seeing this as a fallback.”的錯(cuò)誤信息,如圖所示:

Spring Boot默認(rèn)使用嵌入式Tomcat,默認(rèn)沒有頁面來處理404等常見錯(cuò)誤。因此,為了給用戶最佳的使用體驗(yàn),404等常見錯(cuò)誤需要我們自定義頁面來處理。

我們需要用org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer類來實(shí)現(xiàn)該功能,在Spring Boot的啟動(dòng)類(main方法所在類)當(dāng)中,添加如下代碼:

@Bean public EmbeddedServletContainerCustomizer containerCustomizer() {return (container -> {ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");container.addErrorPages(error401Page, error404Page, error500Page);}); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

這是使用Java?8的lambda表達(dá)式來簡(jiǎn)化實(shí)現(xiàn)的方式,在代碼中創(chuàng)建了三個(gè)ErrorPage實(shí)例來處理三個(gè)通用的HTTP錯(cuò)誤狀態(tài)碼,并將他們添加到Container當(dāng)中。ErrorPage類是一個(gè)封裝了錯(cuò)誤信息的類,它可以在Jetty和Tomcat環(huán)境下使用。

這是使用Java?7內(nèi)部類的一個(gè)等價(jià)實(shí)現(xiàn)方式:

@Bean public EmbeddedServletContainerCustomizer containerCustomizer() {return new EmbeddedServletContainerCustomizer() {@Overridepublic void customize(ConfigurableEmbeddedServletContainer container) {ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");container.addErrorPages(error401Page, error404Page, error500Page);}}; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

錯(cuò)誤頁面需要放在Spring Boot web應(yīng)用的static內(nèi)容目錄下,它的默認(rèn)位置是:src/main/resources/static,如下圖所示:

點(diǎn)擊鏈接下載圖中的三個(gè)文件的壓縮文件,這些文件使用?HTML5 Boilerplate制作。

現(xiàn)在,就可以看到一個(gè)簡(jiǎn)易版本的錯(cuò)誤頁面,可以根據(jù)自己的需要對(duì)它進(jìn)行一些美化。

總結(jié)

以上是生活随笔為你收集整理的Spring Boot自定义错误页面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。