Spring Boot Web Error Page處理
Spring Boot預設是whitelabel error page. 其實我們可以自己處理,由於時間有限,所以就簡單說明一下方法。
首先配置
@Configuration
public class ErrorPageConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
public void customize(ConfigurableEmbeddedServletContainer container) {
ErrorPage error400Page = new ErrorPage(HttpStatus.BAD_REQUEST, "/400.html");
ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404/");
ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
container.addErrorPages(error400Page, error401Page, error404Page, error500Page);
}
};
}
}
細心的朋友會看到,404不是html, 這兒為了掩飾,所以用了兩種方法,如果是html的方法,需要將html檔案放到resources/static目錄下。404處理方式,就需要我們自己處理/404請求,與一般的Controller中處理Request類似。如下:
@RequestMapping("404")
public String error404() {
return "error404";
}
用到了模版,所以需要在resources/templates目錄下建立error404.html檔案
其實配置的時候,也可以用繼承的方式:
@Configuration
public class ErrorPageConfig implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.addErrorPages(
new ErrorPage(HttpStatus.BAD_REQUEST, "/4O0.html"),
new ErrorPage(HttpStatus.UNAUTHORIZED, "/4O1.html"),
new ErrorPage(HttpStatus.NOT_FOUND, "/404/"),
new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html")
);
}
}
關於異常的處理可以參看:http://blog.didispace.com/springbootexception/
相關文章
- spring boot (whitelabel error page SpEL RCE) 漏洞復現Spring BootError
- Spring Boot 異常處理Spring Boot
- spring boot配置跨域、全域性異常處理、page分頁配置、統一返回MessageResultSpring Boot跨域
- Spring Boot 2 + Redis 處理 Session 共享Spring BootRedisSession
- spring boot 統一異常處理Spring Boot
- spring boot 全域性錯誤處理Spring Boot
- Spring Boot 之 Spring Batch 批處理實踐Spring BootBAT
- 29.Spring Boot中異常處理與REST格式處理Spring BootREST
- ELK 處理 Spring Boot 日誌,不錯!Spring Boot
- Spring Boot乾貨系列:(十三)Spring Boot全域性異常處理整理Spring Boot
- 優雅的處理Spring Boot異常資訊Spring Boot
- Spring Boot優雅地處理404異常Spring Boot
- Spring Boot實戰:靜態資源處理Spring Boot
- spring boot admin系統監控處理Spring Boot
- Spring boot/Spring 統一錯誤處理方案的使用Spring Boot
- Spring Boot整合Spring Cloud Task實現批處理操作Spring BootCloud
- Spring Boot學習5:spring-boot web容器Spring BootWeb
- Spring Boot統一異常處理最佳實踐Spring Boot
- Spring Boot 2 Webflux的全域性異常處理Spring BootWebUX
- spring-boot-route(四)全域性異常處理Springboot
- 知識點-Spring Boot 異常處理彙總Spring Boot
- NGINX error_pageNginxError
- spring boot(三)web模組Spring BootWeb
- Java Web之Spring BootJavaWebSpring Boot
- error的處理方式Error
- InnoDB: Error: space id and page n:o stored in the page?Error
- Spring Boot實戰系列(4)統一異常處理Spring Boot
- Spring Boot中的跨域資源共享(CORS)處理Spring Boot跨域CORS
- [求助]tomcat,web.xml,<error-page>,亂碼TomcatWebXMLError
- Error page: / Error infos: DedeCms錯誤警告Error
- Spring Boot實現Web SocketSpring BootWeb
- Spring Boot 的 Web 開發Spring BootWeb
- Spring Boot從入門到實戰(十):非同步處理Spring Boot非同步
- Spring Boot 中關於自定義異常處理的套路!Spring Boot
- Spring Boot統一異常處理以及引數校驗Spring Boot
- 使用Spring Boot + Redis 進行實時流處理 - vinsguruSpring BootRedis
- Spring Boot學習3:web篇(中)-Spring boot Rest學習Spring BootWebREST
- Spring MVC框架處理Web請求的基本流程SpringMVC框架Web