国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理

1、springboot自帶的異常處理頁面Whitelabel Error Page

SpringBoot默認(rèn)的處理異常的機(jī)制:SpringBoot 默認(rèn)的已經(jīng)提供了一套處理異常的機(jī)制。一旦程序中出現(xiàn)了異常 SpringBoot 會(huì)向/error 的 url 發(fā)送請(qǐng)求。在 springBoot 中提供了一個(gè)叫 BasicErrorController 來處理/error 請(qǐng)求,然后跳轉(zhuǎn)到默認(rèn)顯示異常的頁面來展示異常信息
SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理,JAVA全棧學(xué)習(xí)路線,# java ee,spring boot,ajax,后端,java,idea,自定義全局異常處理頁面

自定義該頁面顯示內(nèi)容

如 果我 們 需 要 將 所 有 的 異 常 同 一 跳 轉(zhuǎn) 到 自 定 義 的 錯(cuò) 誤 頁 面 , 需 要 在src/main/resources/templates 目錄下創(chuàng)建 error.html 頁面。注意:名稱必須叫 error

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
</body>
</html>

在pom.xml文件中添加下面依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

編寫controller

package cn.fpl.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class DemoController {

    @RequestMapping("/show1")
    public String show1(){
        String str = null;
        str.length();
        return "index";
    }

    @RequestMapping("/show2")
    public String show2(){
        int a = 6/0;
        return "index";
    }
}

然后重新啟動(dòng)后異常頁面變?yōu)椋?br>SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理,JAVA全棧學(xué)習(xí)路線,# java ee,spring boot,ajax,后端,java,idea,自定義全局異常處理頁面

2、整合web訪問全局異常處理器

SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理,JAVA全棧學(xué)習(xí)路線,# java ee,spring boot,ajax,后端,java,idea,自定義全局異常處理頁面

2.1、創(chuàng)建全局異常處理器

創(chuàng)建一個(gè)exception包在其中創(chuàng)建一個(gè)GlobaleExceptionHandler.java

package cn.fpl.exception;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class GlobaleExceptionHandler implements HandlerExceptionResolver {
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        ModelAndView mv = new ModelAndView();
        if(e instanceof NullPointerException){
            mv.setViewName("error1");
        }else if(e instanceof ArithmeticException){
            mv.setViewName("error2");
        }
        mv.addObject("msg", e.toString());
        return mv;
    }
}

2.2、在src/main/resources/templates 目錄下創(chuàng)建 error1.html 頁面和 error2.html 頁面

error1.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>錯(cuò)誤提示頁面-ArithmeticException</title>
</head>
<body>
<h2>error1</h2>
出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
<span th:text="${msg}"></span>
</body>
</html>

error2.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>錯(cuò)誤提示頁面-ArithmeticException</title>
</head>
<body>
<h2>error2</h2>
出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
<span th:text="${msg}"></span>
</body>
</html>

3、整合ajax全局異常處理

3.1、在exception包下創(chuàng)建全局異常處理器AjaxGlobalException.java

/*
 * Copyright (c) 2020, 2024, fpl1116.cn All rights reserved.
 *
 */
package cn.fpl.exception;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;

/**
 * <p>Project: SpringBootDemo - AjaxGlobalException</p>
 * <p>Powered by fpl1116 On 2024-01-15 10:48:48</p>
 * <p>描述:<p>
 *
 * @author fpl1116 [2391940642@qq.com]
 * @version 1.0
 * @since 1.8
 */
@ControllerAdvice
public class AjaxGlobalException {
    @ResponseBody
    @ExceptionHandler
    public Map errorHandler(Exception e){
        Map<String, Object> map = new HashMap<>();
        map.put("status", 500);
        map.put("msg", e.toString());
        return map;//{status:500, msg:異常信息}
    }
}


SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理,JAVA全棧學(xué)習(xí)路線,# java ee,spring boot,ajax,后端,java,idea,自定義全局異常處理頁面文章來源地址http://www.zghlxwxcb.cn/news/detail-792731.html

到了這里,關(guān)于SpringBoot異常處理(Whitelabel Error Page和自定義全局異常處理頁面)和整合ajax異常處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一文聊透 Linux 缺頁異常的處理 —— 圖解 Page Faults

    一文聊透 Linux 缺頁異常的處理 —— 圖解 Page Faults

    本文基于內(nèi)核 5.4 版本源碼討論 在前面兩篇介紹 mmap 的文章中,筆者分別從原理角度以及源碼實(shí)現(xiàn)角度帶著大家深入到內(nèi)核世界深度揭秘了 mmap 內(nèi)存映射的本質(zhì)。從整個(gè) mmap 映射的過程可以看出,內(nèi)核只是在進(jìn)程的虛擬地址空間中尋找出一段空閑的虛擬內(nèi)存區(qū)域 vma 然后分配

    2024年02月04日
    瀏覽(22)
  • Springboot——@valid 做字段校驗(yàn)和自定義注解

    Springboot——@valid 做字段校驗(yàn)和自定義注解

    再項(xiàng)目開發(fā)中,針對(duì)前端傳遞的參數(shù)信息,有些接口中需要寫大量的 if 判斷,導(dǎo)致代碼臃腫,不夠優(yōu)雅。 此時(shí),可以使用 @Valid 實(shí)現(xiàn)基本的字段校驗(yàn)。 springboot 2.3之前 ,直接進(jìn)行開發(fā)即可,無需引用額外的依賴 集成在 spring-boot-starter-web 中。 springboot 2.3之后 需要額外引入

    2023年04月26日
    瀏覽(22)
  • vue-pdf多頁預(yù)覽異常,Rendering cancelled, page 1 Error at BaseExceptionClosure xxx

    vue-pdf多頁預(yù)覽異常,Rendering cancelled, page 1 Error at BaseExceptionClosure xxx

    項(xiàng)目開發(fā)使用vue-pdf,單頁情況預(yù)覽正常,多頁vue-pdf預(yù)覽異常,第一次預(yù)覽時(shí),會(huì)先彈出異常模態(tài)窗口,關(guān)閉模態(tài)窗口,pdf又是正常顯示,報(bào)錯(cuò)信息及異常截圖如下: 異常截圖,點(diǎn)擊右上角關(guān)閉X,pdf是正常預(yù)覽,再次打開后也能正常預(yù)覽,僅第一次打開預(yù)覽有異常。 1.vue-pdf預(yù)

    2024年02月07日
    瀏覽(23)
  • 【微服務(wù)】Feign 整合 Sentinel,深入探索 Sentinel 的隔離和熔斷降級(jí)規(guī)則,以及授權(quán)規(guī)則和自定義異常返回結(jié)果

    【微服務(wù)】Feign 整合 Sentinel,深入探索 Sentinel 的隔離和熔斷降級(jí)規(guī)則,以及授權(quán)規(guī)則和自定義異常返回結(jié)果

    在前文中,介紹了 Sentinel 的流控模式和流控效果,然而限流只是一種預(yù)防措施,雖然可以盡量避免因?yàn)椴l(fā)問題而引起的服務(wù)故障,但服務(wù)仍然可能因其他因素而發(fā)生故障。為了將這些故障控制在一定范圍內(nèi),以避免雪崩效應(yīng)的發(fā)生,我們需要依賴線程隔離(艙壁模式)和熔

    2024年02月08日
    瀏覽(27)
  • 【Vue】二:Vue核心處理---vue的其它指令和自定義指令

    【Vue】二:Vue核心處理---vue的其它指令和自定義指令

    v-text:當(dāng)做文件解析。 v-html:當(dāng)做 HTML 代碼解析。 v-cloak 配置 css 樣式來解決胡子的閃現(xiàn)問題。 我們模擬網(wǎng)絡(luò)延遲的情況下,發(fā)現(xiàn)出現(xiàn)了如上的問題。 只渲染一次。之后將被視為靜態(tài)內(nèi)容。 帶有該指令的標(biāo)簽將不會(huì)被編譯。 指令的名字 (1)v-不需要寫 (2)Vue官方建議指令

    2024年02月08日
    瀏覽(22)
  • SpringBoot中配置文件詳解(yml、properties全局配置和自定義配置),獲取配置方式

    SpringBoot中配置文件詳解(yml、properties全局配置和自定義配置),獲取配置方式

    目錄 全局配置文件 application.properties配置文件 application.yaml配置文件 ?value值為普通數(shù)據(jù)類型(例如數(shù)字、字符串、布爾等) ?value值為數(shù)組和單列集合 ?value值為Map集合 ?value值為對(duì)象或嵌套對(duì)象 @Value 自定義配置 使用@PropertySource加載配置文件 隨機(jī)數(shù)設(shè)置及參數(shù)間引用 隨機(jī)值設(shè)

    2024年02月14日
    瀏覽(21)
  • Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)連續(xù)對(duì)話、流式輸出和自定義baseUrl

    Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)連續(xù)對(duì)話、流式輸出和自定義baseUrl

    源碼及更詳細(xì)的介紹說明參見Git上的 README.md 文檔 https://github.com/asleepyfish/chatgpt 本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo 流式輸出結(jié)合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatgpt-vue 后續(xù)使用方法和api版本更新均在Github的READM

    2024年02月16日
    瀏覽(51)
  • Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    目錄 一、單個(gè)控制器異常處理 1.1 控制器方法 1.2 編寫出錯(cuò)頁面 1.3 測(cè)試結(jié)果 二、全局異常處理 2.1 一個(gè)有異常的控制器類 2.2 全局異常處理器類 2.3 測(cè)試結(jié)果? 三、自定義異常處理器 3.1 自定義異常處理器 3.2 測(cè)試結(jié)果 往期專欄文章相關(guān)導(dǎo)讀? 1. Maven系列專欄文章 2. Mybatis系列

    2024年02月16日
    瀏覽(29)
  • MediaPlayer error(-38, 0) 異常處理

    MediaPlayer error(-38, 0) 異常處理

    Media Player called in state 0, error (-38,0) MediaPlayer的使用 對(duì)時(shí)長(zhǎng)超過 5s 的音頻提供裁剪、試聽功能,裁剪、試聽最大時(shí)長(zhǎng)均為 5s。當(dāng)視頻長(zhǎng)度在 5s ~ 6s 之間,試聽暫停時(shí),可能整個(gè)音頻播放完成了,此時(shí)會(huì)回調(diào) onCompletion 方法,試聽封裝類會(huì)在播放完成后調(diào)用 reset 方法。此時(shí),再

    2024年02月07日
    瀏覽(16)
  • dubbo處理自定義異常

    dubbo處理自定義異常

    背景 在實(shí)際項(xiàng)目中,我們不可避免地需要使用自定義的異常,一般這個(gè)異常會(huì)繼承RuntimeException,然后我們通過@RestControllerAdvice注解,攔截業(yè)務(wù)異常類,做一些處理,但是在使用dubbo構(gòu)建項(xiàng)目時(shí),會(huì)發(fā)現(xiàn)provider拋出自定義異常,然后在消費(fèi)者端,不會(huì)捕捉到我們的自定義異常,

    2024年02月05日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包