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

解決攔截器拋出異常處理類的500狀態(tài)碼Html默認(rèn)格式響應(yīng) !

這篇具有很好參考價(jià)值的文章主要介紹了解決攔截器拋出異常處理類的500狀態(tài)碼Html默認(rèn)格式響應(yīng) !。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

解決方式

<mvc:annotation-driven>
        <mvc:message-converters>
            <!-- 配置JSON消息轉(zhuǎn)換器 -->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

將Java對象轉(zhuǎn)換為JSON格式的響應(yīng),使用spring-mvc.xml配置適當(dāng)?shù)南⑥D(zhuǎn)換器。文章來源地址http://www.zghlxwxcb.cn/news/detail-696122.html

問題出處的相關(guān)類如下

interceptor如下

package com.ekgc.interceptor;

import com.ekgc.exception.UnLoginException;
import com.ekgc.pojo.SysUser;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

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

/**
 * 登錄攔截器
 * 1.實(shí)現(xiàn) HandlerInterceptor接口
 * 2.實(shí)現(xiàn)接口方法
 * 3.在springmvc.xml中配置攔截器
 * @author Magic
 * @version 1.0
 */
public class LoginInterceptor implements HandlerInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		System.out.println("preHandle...");
		// 記錄請求處理開始時(shí)間
		request.setAttribute("startTime", System.currentTimeMillis());

		// 檢查用戶是否已經(jīng)登錄
		if (!isLoggedIn(request)) {
			//拋出未登錄異常
			throw new UnLoginException("您還沒有登錄?。。?);
		}
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
		System.out.println("postHandle...");
		// 計(jì)算請求處理時(shí)間
		long startTime = (long) request.getAttribute("startTime");
		long endTime = System.currentTimeMillis();
		long executionTime = endTime - startTime;

		System.out.println("Request execution time: " + executionTime + " ms");
	}

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
		System.out.println("afterCompletion...");
	}

	private boolean isLoggedIn(HttpServletRequest request) {
		// 檢查用戶是否已登錄的邏輯
		HttpSession session = request.getSession();
		SysUser user = (SysUser) session.getAttribute("user");
		// 返回true表示已登錄,false表示未登錄
		if (user == null) {
			return false;
		}
		return true;
	}
}

?自定義異常類

package com.ekgc.exception;

/**
 * @author Magic
 * @version 1.0
 */
public class UnLoginException extends RuntimeException{
    public UnLoginException(String message) {
        super(message);
    }
}

?異常處理類

package com.ekgc.exception;

import com.ekgc.response.RespBody;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;



/**
 * 登錄異常處理類
 * @author Magic
 * @version 1.0
 */
@ControllerAdvice
public class LoginExceptionHandler {

    @ExceptionHandler(UnLoginException.class)
    @ResponseBody
    public RespBody<String> loginExceptionHandler(UnLoginException e) {
        String message = e.getMessage();
        System.out.println(message);
        return new RespBody<String>(-1,message,message);
    }
}

到了這里,關(guān)于解決攔截器拋出異常處理類的500狀態(tài)碼Html默認(rèn)格式響應(yīng) !的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • SpringMVC之?dāng)r截器和異常處理器

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識點(diǎn)… 一個(gè)人摸索學(xué)習(xí)很難堅(jiān)持,想組團(tuán)高效學(xué)習(xí)… 想寫博客但無從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月03日
    瀏覽(21)
  • 【SpringMVC】統(tǒng)一異常處理 前后臺協(xié)議聯(lián)調(diào) 攔截器

    【SpringMVC】統(tǒng)一異常處理 前后臺協(xié)議聯(lián)調(diào) 攔截器

    1. 問題描述 在講解這一部分知識點(diǎn)之前,我們先來演示個(gè)效果,修改BookController類的 getById 方法 重新啟動運(yùn)行項(xiàng)目,使用PostMan發(fā)送請求,當(dāng)傳入的id為1,則會出現(xiàn)如下效果: 前端接收到這個(gè)信息后和之前我們約定的格式不一致,這個(gè)問題該如何解決? 在解決問題之前,我們

    2024年02月11日
    瀏覽(24)
  • 登錄頁面jwt密鑰,過濾器,攔截器,異常處理

    需求: 用戶未登錄時(shí),訪問其他也沒面,操作添加、刪除等操作時(shí),強(qiáng)行跳轉(zhuǎn)至登錄頁面。 實(shí)現(xiàn)方法: 1.使用Cookie,登錄后后端添加一個(gè)cookie,每次頁面判斷是否有cookie, 2。使用session,原理同上,只不過session是存儲在服務(wù)器里的,cookie是在瀏覽器里。 3。使用jwt令牌,登

    2023年04月25日
    瀏覽(26)
  • 【SpringMVC】統(tǒng)一異常處理 前后臺協(xié)議聯(lián)調(diào) 攔截器(文末贈書)

    【SpringMVC】統(tǒng)一異常處理 前后臺協(xié)議聯(lián)調(diào) 攔截器(文末贈書)

    1. 問題描述 在講解這一部分知識點(diǎn)之前,我們先來演示個(gè)效果,修改BookController類的 getById 方法 重新啟動運(yùn)行項(xiàng)目,使用PostMan發(fā)送請求,當(dāng)傳入的id為1,則會出現(xiàn)如下效果: 前端接收到這個(gè)信息后和之前我們約定的格式不一致,這個(gè)問題該如何解決? 在解決問題之前,我們

    2024年02月09日
    瀏覽(27)
  • 【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    ?Spring AOP是一個(gè)基于面向切面編程的框架,用于將橫切性關(guān)注點(diǎn)(如日志記錄、事務(wù)管理)與業(yè)務(wù)邏輯分離,通過代理對象將這些關(guān)注點(diǎn)織入到目標(biāo)對象的方法執(zhí)行前后、拋出異?;蚍祷亟Y(jié)果時(shí)等特定位置執(zhí)行,從而提高程序的可復(fù)用性、可維護(hù)性和靈活性。但使用原生Sp

    2024年02月16日
    瀏覽(25)
  • SpringBoot -05 SpringBoot web相關(guān)配置(靜態(tài)資源訪問、統(tǒng)一異常處理、文件上傳、攔截器、統(tǒng)一跨域請求處理)

    小總結(jié) SpringBoot是一個(gè)基于Spring的工具集,去幫我們完成了大量的配置。在SpringBoot中有一個(gè)約定大于配置的概念,就是他把我們很多第三方框架幫我們寫好了,而且把我們整個(gè)第三方框架所需要的依賴全都通過起步依賴加進(jìn)去了。開發(fā)中只需要加入起步依賴就可以實(shí)現(xiàn)某個(gè)場

    2024年02月01日
    瀏覽(32)
  • Spring MVC學(xué)習(xí)隨筆-Ajax集成(JSON格式返回?cái)?shù)據(jù))、攔截器(MyInterceptor)、全局異常處理(GlobalExceptionResolver)

    Spring MVC學(xué)習(xí)隨筆-Ajax集成(JSON格式返回?cái)?shù)據(jù))、攔截器(MyInterceptor)、全局異常處理(GlobalExceptionResolver)

    學(xué)習(xí)視頻:【編程不良人】繼spring之后快速入門springmvc,面對SpringMVC不用慌 引入相關(guān)依賴 開發(fā)控制器 日期格式修正 可以正常響應(yīng) 攔截器 :Interceptor 攔截 中斷 類似于javaweb中的Filter,不過沒有Filter那么強(qiáng)大 作用 Spring MVC的攔截器是一種用于在請求處理過程中進(jìn)行預(yù)處理和后處

    2024年02月05日
    瀏覽(24)
  • Spring Boot 統(tǒng)一功能處理(攔截器實(shí)現(xiàn)用戶登錄權(quán)限的統(tǒng)一校驗(yàn)、統(tǒng)一異常返回、統(tǒng)一數(shù)據(jù)格式返回)

    Spring Boot 統(tǒng)一功能處理(攔截器實(shí)現(xiàn)用戶登錄權(quán)限的統(tǒng)一校驗(yàn)、統(tǒng)一異常返回、統(tǒng)一數(shù)據(jù)格式返回)

    目錄 1. 用戶登錄權(quán)限校驗(yàn) 1.1 最初用戶登錄權(quán)限效驗(yàn) 1.2 Spring AOP 用戶統(tǒng)?登錄驗(yàn)證 1.3 Spring 攔截器 (1)創(chuàng)建自定義攔截器 (2)將自定義攔截器添加到系統(tǒng)配置中,并設(shè)置攔截的規(guī)則 1.4 練習(xí):登錄攔截器 (1)實(shí)現(xiàn) UserController 實(shí)體類 (2)返回的登錄頁面:login.html (3)實(shí)

    2024年02月12日
    瀏覽(59)
  • SpringBoot統(tǒng)一功能處理(攔截器)

    SpringBoot統(tǒng)一功能處理(攔截器)

    1.1自定義攔截器 寫一個(gè)類去實(shí)現(xiàn) HandlerInterceptor接口 表示當(dāng)前類是一個(gè)攔截器,再 重寫HandlerInterceptor接口中的方法 , preHandle 為在方法 執(zhí)行前攔截 ,postHandle為方法執(zhí)行中攔截,afterCompletion為方法執(zhí)行中攔截.需要在什么時(shí)候攔截就重寫什么方法 2.1.配置攔截規(guī)則 實(shí)現(xiàn) WebMvcConfigur

    2024年02月14日
    瀏覽(17)
  • Spring 統(tǒng)一功能處理(攔截器)

    Spring 統(tǒng)一功能處理(攔截器)

    SpringBoot統(tǒng)一功能處理。也就是AOP的具體實(shí)現(xiàn)。 最原始的用戶登錄驗(yàn)證方法,我們通過封裝了一個(gè)方法來判斷用戶是否登錄,但如果實(shí)現(xiàn)的功能多了,那么每一個(gè)需要登錄的功能都要在對應(yīng)的接口中來調(diào)用這個(gè)函數(shù)來判讀是否登錄。 上面的代碼雖然已經(jīng)封裝成了方法,但是如

    2024年02月03日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包