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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot自定义错误页面

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

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

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

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

@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表達式來簡化實現(xiàn)的方式,在代碼中創(chuàng)建了三個ErrorPage實例來處理三個通用的HTTP錯誤狀態(tài)碼,并將他們添加到Container當中。ErrorPage類是一個封裝了錯誤信息的類,它可以在Jetty和Tomcat環(huán)境下使用。

這是使用Java?7內(nèi)部類的一個等價實現(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

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

點擊鏈接下載圖中的三個文件的壓縮文件,這些文件使用?HTML5 Boilerplate制作。

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

總結(jié)

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

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