第7章 Spring MVC的高階技術 異常處理

2021-08-03 11:08:23 字數 1852 閱讀 9817

概述:

只要程式都需要處理異常,spring會有哪些處理異常的方式

特定的spring異常將會自動對映為指定的http狀態碼異常上可以新增@responsestatus註解,從而改變http狀態碼在控制器中新增乙個帶有@exceptionhandler註解可以處理這個控制器所有丟擲此異常的

對於自動對映這裡不列舉了

首先建立乙個自定義異常類:

總結:可以看到在異常類上新增@responsestatus註解,value為狀態碼,reason描述

然後將該類應用到controller類中

spittle=null;

if(spittle == null)

model.addattribute(spittle);

return "spittle";

}故意讓spittle 為null

效果如下:如果不加這個註解,會丟擲500異常,同時會列印堆疊的資訊

接下來用到的註解就是@exceptionhandler

只要在控制器類中新增如下方法:

@exceptionhandler(spittlenotfoundexception.class)

public string handleduplicatespittle()

總結:對於所有spittlenotfoundexception 都會被這個方法處理

這裡採用thymeleaf框架,需要建立乙個notfound.html檔案

效果:當前你可以比我做更漂亮點

新增註解@

也就是將上述方法剝離成乙個類的方法

package com.jack.config;

import org.springframework.web.bind.annotation.controlleradvice;

import org.springframework.web.bind.annotation.exceptionhandler;

import com.jack.controller.spittlenotfoundexception;

@controlleradvice

public class notfoundexceptionhandler

}

總結:只是在增加了controlleradvice 註解,最後的效果就是所有controller丟擲此異常都會在這裡處理。

第7章 函式 7

7.7 類的成員函式 函式原型必須在類中定義。但是,函式體則既可以在類中也可以在類外定義。7.7.1 定義成員函式的函式體 類的所有成員都必須在類定義的花括號裡面宣告,此後,就不能再為類增加任何成員。類的成員函式必須加宣告的一般定義。類的成員函式既可以在類的定義內也可以在類的定義外定義。編譯器隱式地...

第7章 排序

第7章 排序 任何通用的排序演算法均需要nlogn次比較 7.1 預備知識 略7.2 插入排序 插入排序思想 在已排序狀態插入新元素 插入排序的最壞情形和平均情形均為n的平方 7.3 一些簡單排序演算法的下界 通過比較和交換來進行排序的演算法本質上是消除序列中的逆序數,因此求解該演算法的時間複雜度時...

第7章 矩陣

矩陣主要用來描述兩個座標系統間的關係,通過定義一種運算而將乙個座標系中的向量轉換到另乙個座標系中。注意 向量是標量的陣列,矩陣則是向量的陣列。矩陣的維度被定義為它包含了多少行和多少列。用黑體大寫字母表示矩陣,如 a,需要引用矩陣的分量時,採用下標法,常使用對應的斜體小寫字母 注意 矩陣的下標是從1 ...