亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot?錯誤頁面跳轉方式

 更新時間:2022年02月17日 14:55:53   作者:皮皮熙のFans  
這篇文章主要介紹了SpringBoot?錯誤頁面跳轉方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot錯誤頁面跳轉

SpringBoot實現(xiàn)MVC 404、500等錯誤時跳轉自定義頁面

一、新增配置類

package com.study.demo.config;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
/**
?* 錯誤頁面的配置
?*/
@Component
public class ErrorPageConfig implements ErrorPageRegistrar {
? ? @Override
? ? public void registerErrorPages(ErrorPageRegistry registry) {
? ? ? ? ErrorPage error400Page = new ErrorPage(HttpStatus.BAD_REQUEST, "/errorPageController/error_400");
? ? ? ? ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/errorPageController/error_401");
? ? ? ? ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/errorPageController/error_404");
? ? ? ? ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/errorPageController/error_500");
? ? ? ? registry.addErrorPages(error400Page,error401Page,error404Page,error500Page);
? ? }
}

二、錯誤頁面跳轉控制器

package com.study.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/errorPageController")
public class ErrorPageController {
? ? @RequestMapping("/error_{errorCode}")
? ? public String error(@PathVariable int errorCode){
? ? ? ? String responseMsg;
? ? ? ? switch (errorCode) {
? ? ? ? ? ? case 400: responseMsg = "/400.html"; break;
? ? ? ? ? ? case 401: responseMsg = "/401.html"; break;
? ? ? ? ? ? case 404: responseMsg = "/404.html"; break;
? ? ? ? ? ? case 500: responseMsg = "/500.html"; break;
? ? ? ? ? ? default: responseMsg = "/404.html"; break;
? ? ? ? }
? ? ? ? return responseMsg;
? ? }
}

SpringBoot自定義錯誤頁面

一、錯誤頁面

請求出現(xiàn)錯誤時,跳轉到自定義的頁面中,比如404,假如沒對錯誤進行處理,那么系統(tǒng)默認的頁面與項目的頁面會有很大的不搭。

解決:在默認的靜態(tài)路徑下,新建error文件,里面放入錯誤頁面,頁面命名為錯誤狀態(tài)碼,如:404.html,也可以命名為4xx.html,但如果兩個文件同時存在,那么會優(yōu)先展示404.html

注:靜態(tài)路徑為

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{
"classpath:/META-INF/resources/",
?"classpath:/resources/",?
?"classpath:/static/",?
?"classpath:/public/"
?};
?// 注:還有一個默認的根路徑 ? ?"/"

二、處理過程

出現(xiàn)4xx或5xx錯誤時,ErrorPageCustomizer生效,就會來到/error請求,就會被BasicErrorController處理。

//在DefaultErrorViewResolver中有一段代碼
// 處理4xx和5xx的請求
static {
    Map<Series, String> views = new EnumMap(Series.class);
    views.put(Series.CLIENT_ERROR, "4xx");
    views.put(Series.SERVER_ERROR, "5xx");
    SERIES_VIEWS = Collections.unmodifiableMap(views);
}
// 解析,并會跳轉到error/錯誤狀態(tài)碼; 頁面中
private ModelAndView resolve(String viewName, Map<String, Object> model) {
    String errorViewName = "error/" + viewName;
    TemplateAvailabilityProvider provider = this.templateAvailabilityProviders.getProvider(errorViewName, this.applicationContext);
    // 對是否有模板引擎做出相應的視圖處理
    return provider != null ? new ModelAndView(errorViewName, model) : this.resolveResource(errorViewName, model);
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java圖片裁剪和生成縮略圖的實例方法

    Java圖片裁剪和生成縮略圖的實例方法

    這篇文章主要介紹了Java圖片裁剪和生成縮略圖的實例方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • java實現(xiàn)String類型和Date類型相互轉換

    java實現(xiàn)String類型和Date類型相互轉換

    很多人表示,java將string類型轉為date類型不知道應該怎樣做,本文就來介紹一下java實現(xiàn)String類型和Date類型相互轉換,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • java中Hutool工具類的常見使用場景詳解

    java中Hutool工具類的常見使用場景詳解

    在日常開發(fā)中,我們會使用很多工具類來提升項目開發(fā)的速度,而國內用的比較多的 Hutool 框架,就是其中之一,本文我們就來介紹一下Hutool的具體使用吧
    2023-12-12
  • ElasticSearch學習之Es集群Api操作示例

    ElasticSearch學習之Es集群Api操作示例

    這篇文章主要為大家介紹了ElasticSearch學習之Es集群Api操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • maven <repositories>標簽和<pluginRepositories>標簽的使用

    maven <repositories>標簽和<pluginRepositories>標簽的使用

    這篇文章主要介紹了maven <repositories>標簽和<pluginRepositories>標簽的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題

    java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題

    這篇文章主要介紹了java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot 進行限流的操作方法

    SpringBoot 進行限流的操作方法

    限流是對某一時間窗口內的請求數(shù)進行限制,保持系統(tǒng)的可用性和穩(wěn)定性,防止因流量暴增而導致的系統(tǒng)運行緩慢或宕機。本文重點給大家介紹SpringBoot 進行限流的操作方法,感興趣的朋友一起看看吧
    2021-10-10
  • Spring事務管理中的異常回滾是什么

    Spring事務管理中的異常回滾是什么

    Spring中的代碼出現(xiàn)異常時會回滾這是大家都希望的情況,這時候可以用@Transactional這個注解放在你的方法上來進行回滾,這時候有個問題就是事務回滾是不希望你在Controller進行處理,而是在Service層來進行處理
    2023-02-02
  • java中的除法運算和取模運算解讀

    java中的除法運算和取模運算解讀

    這篇文章主要介紹了java中的除法運算和取模運算,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java+mysql模擬實現(xiàn)銀行系統(tǒng)

    java+mysql模擬實現(xiàn)銀行系統(tǒng)

    這篇文章主要為大家詳細介紹了java+mysql模擬實現(xiàn)銀行系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論