spring boot 2.0+ 錯誤頁面配置
阿新 • • 發佈:2018-05-11
技術 conf 如何 AD inter ogg 存在 one ref
如果訪問了錯誤的路徑,或者後臺報錯
- 如果沒有一個統一的頁面!
- 或者說頁面上展示一堆報錯信息,既影響美觀,又對用戶不友好!
那麽如何配置?
- 定義
ErrorPageConfig
,配置錯誤狀態與對應訪問路徑
@Component public class ErrorPageConfig implements ErrorPageRegistrar { private static final Logger logger = LoggerFactory.getLogger(ErrorPageConfig.class); @Override public void registerErrorPages(ErrorPageRegistry errorPageRegistry) { //1、按錯誤的類型顯示錯誤的網頁 //錯誤類型為404,找不到網頁的,默認顯示404.html網頁 ErrorPage e404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"); //錯誤類型為500,表示服務器響應錯誤,默認顯示500.html網頁 ErrorPage e500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"); errorPageRegistry.addErrorPages(e404, e500); } }
- 定義控制器,專門用於
ErrorPageConfig
跳轉路徑
@Controller @RequestMapping("/error") public class ErrorController { /** * 404頁面 */ @GetMapping(value = "/404") public String error_404() { return "comm/error_404"; } /** * 500頁面 */ @GetMapping(value = "/500") public String error_500() { return "comm/error_500"; } }
- 在comm文件夾 下新建頁面
- 訪問不存在的地址,或者後臺報錯,即可展示友好頁面
參考鏈接找不到了。
- 感謝:https://github.com/ZHENFENG13
其實,還有bug。
- 比如訪問 http://localhost:9090/admin/1 沒有直接報404,反而 真的去找了這個路徑
與後臺admin開頭的要跳轉到登錄頁面攔截器發生沖突,導致500錯誤
比如直接訪問 http://localhost:9090/error ,會報一個909錯誤,再次回到原生的報錯頁面
希望有大佬給點意見!
spring boot 2.0+ 錯誤頁面配置