java springboot過濾器

在Spring Boot應用中添加自定義過濾器,可以通過實現Filter接口或繼承OncePerRequestFilter類來創建過濾器,并使用FilterRegistrationBean將其注冊到Spring容器中。

以下是一個簡單的示例:

1. 創建過濾器類

????????首先,創建一個實現Filter接口的類,或者為了簡化單次請求處理邏輯,繼承OncePerRequestFilter類。

????????下面是一個簡單的日志記錄過濾器示例:

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;import org.springframework.stereotype.Component;@Component
public class RequestLoggingFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {System.out.println("Request Log: " + request.getMethod() + " " + request.getRequestURI());// 繼續執行下一個過濾器或請求處理器filterChain.doFilter(request, response);System.out.println("Response Log: " + response.getStatus());}
}

2. 注冊過濾器

????????通常,Spring Boot會自動檢測并注冊標記為@Component的過濾器,但也可以通過配置類更精確地控制過濾器的注冊,比如指定過濾器的URL模式。

????????使用FilterRegistrationBean來完成這個任務:

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class FilterConfig {@Beanpublic FilterRegistrationBean<RequestLoggingFilter> loggingFilterRegistration(RequestLoggingFilter filter) {FilterRegistrationBean<RequestLoggingFilter> registration = new FilterRegistrationBean<>();registration.setFilter(filter);// 設置過濾器的URL模式,這里示例為所有請求registration.addUrlPatterns("/*");// 設置過濾器的順序,值越小優先級越高registration.setOrder(1); return registration;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36476.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36476.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36476.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++基礎語法:類構造函數

前言 "打牢基礎,萬事不愁" .C的基礎語法的學習 引入 類是實現面向對象思想的主要方法.前面提到:類是函數的變種,類可以通過調用靜態方法或者成員函數來實現邏輯.多數情況下使用成員函數.構造函數是生成類對象成員的必須條件,對此做一些構造函數的歸納 構造函數的目…

【日志消息類的編寫】

日志消息類編寫 由于上篇的代碼比較簡單&#xff0c;今天就多寫兩段代碼順便把日志消息類編寫完成。 這個類的實現就是&#xff1a;什么時間&#xff0c;哪個線程&#xff0c;哪個文件的哪一行&#xff0c;發生了什么等級的日志&#xff0c;日志機器名字是什么&#xff0c;日…

20240628 每日AI必讀資訊

&#x1f4da; Hugging Face 推出新版開源大模型排行榜&#xff0c;中國模型 Qwen-72B 奪冠 - 阿里Qwen-2-72B指令微調版本問鼎全球開源大模型排行榜榜首 - Llama-3-70B 微調版本排名第二&#xff0c;而 Mixtral-8x22B 微調版本位居第四。 - 另外&#xff0c;微軟的 Phi-3-M…

三種分布式鎖實現方式

目錄 1、數據庫自增 2、Redis自增 3、Zookeeper 4、其他 4.1、雪花算法 4.2、Tinyid 4.3、Leaf 4.4、數據庫號段 1、數據庫自增 利用數據庫表的自增特性&#xff0c;或主鍵唯一性&#xff0c;實現分布式ID REPLACE INTO id_table (stub) values (’a‘) ; SELECT LA…

社交App廣告優化新篇章:Xinstall引領用戶體驗升級,助力買量效果提升

隨著移動互聯網的快速發展&#xff0c;社交App已經成為人們生活中不可或缺的一部分。然而&#xff0c;在競爭激烈的市場環境下&#xff0c;如何有效地進行廣告投放&#xff0c;吸引并留住用戶&#xff0c;成為了每個社交App運營者面臨的重大挑戰。今天&#xff0c;我們就來談談…

自費5K,測評安德邁、小米、希喂三款寵物空氣凈化器誰才是高性價比之王

最近&#xff0c;家里的貓咪掉毛嚴重&#xff0c;簡直成了一個活生生的蒲公英&#xff0c;家中、空氣中各處都彌漫著貓浮毛甚至所有衣物都覆蓋著一層厚厚的貓毛。令人難以置信的是&#xff0c;有時我甚至在摳出的眼屎中都能發現夾雜著幾根貓毛。真的超級困擾了。但其實最空氣中…

Packer-Fuzzer一款好用的前端高效安全掃描工具

★★免責聲明★★ 文章中涉及的程序(方法)可能帶有攻擊性&#xff0c;僅供安全研究與學習之用&#xff0c;讀者將信息做其他用途&#xff0c;由Ta承擔全部法律及連帶責任&#xff0c;文章作者不承擔任何法律及連帶責任。 1、Packer Fuzzer介紹 Packer Fuzzer是一款針對Webpack…

4.if 條件判斷

1.if-else語句 if #判斷條件 :pass else:pass2.if - elif- else if #判斷條件 :pass elif #判斷條件:pass else:pass3.if語句可以嵌套 if #判斷條件 :passif #判斷條件 :pass 4.邏輯運算符 and 兩個都為真,才是真 or 一個為真 即是真 not 取反 and從左到右,所有值為真,返回…

麒麟系統安裝MySQL

搞了一整天&#xff0c;終于搞定了&#xff0c;記錄一下。 一、背景 項目的原因&#xff0c;基于JeecgBoot開發的系統需要國產化支持&#xff0c;這就需要在電腦上安裝MySQL等支撐軟件。 國產化項目的操作系統多是麒麟系統&#xff0c;我的系統如下&#xff1a; arm64架構。…

C#快速開發OPCUA服務器

為方便演示&#xff0c;此時創建一個控制臺應用程序。第三方dll(C編寫的庫opcsrv.dll&#xff0c;他人實現)。 拷貝dll到運行目錄下&#xff1a; 拷貝二次封裝后的文件到項目目錄下&#xff1a; 第一步&#xff1a;創建OpcUa服務器 //第一步&#xff1a;創建OpcUa服務器 OPCSr…

java.util.Optional類介紹

java.util.Optional 是 Java 8 引入的一個容器類,用于表示可能包含或不包含非空值的對象。它的設計初衷是為了減少程序中的空指針異常(NullPointerException),并使代碼更加簡潔和易讀。 Optional 類的介紹 1. 特點 避免顯式的 null 檢查:使用 Optional 可以避免顯式的 n…

基于ssh框架的個人博客源碼

基于ssh的個人博客源碼&#xff0c;頁面清爽簡潔&#xff0c;原先有部分bug,運行不了&#xff0c;現已修復 1.博客首頁 &#xff08;本地訪問地址 :localhost:8080/Blog/index/index&#xff09; 2.關于我 3.慢生活 4.留言板 5.我的相冊 微信掃碼下載源碼

商場配電新思維:智能網關驅動的自動化管理系統

在商場配電室監控系統中&#xff0c;主要是以無線網絡為載體&#xff0c;目的就是便于對變電站等實時監測與控制。其中&#xff0c;4G配電網關非常關鍵&#xff0c;可以將配電室系統終端上的信息數據及時上傳到服務器&#xff0c;再由服務器下達控制指令到各模塊中&#xff0c;…

Oracle Database 23ai新特性之INTERVAL聚合函數增強

Oracle Database 23ai 開始 AVG 以及 SUM 函數支持 INTERVAL 數據類型&#xff0c;它們可以作為聚合函數或者分析函數使用。 示例表 本文將會使用以下示例表&#xff1a; create table t1 (id integer,start_time timestamp,end_time timestamp,duration in…

超越規模的冒險之旅:引導人工智能價值對齊

在茫茫技術之林中&#xff0c;人工智能憑借大模型占據了重要地位。人們已經不再局限于人機對弈和AI識圖&#xff0c;開始探索那些能夠模仿人類思考的機器。無論是日常聊天、文本寫作&#xff0c;還是[在完美的提示詞引導下創作出驚艷的詩歌]&#xff0c;我們不得不承認AI工具已…

雙指針算法第二彈(查找總價格為目標值的兩個商品-和為s的兩個數字 三數之和 四數之和)

系列文章目錄 《雙指針算法第一彈&#xff08;移動零 復寫零 快樂數&#xff09;》鏈接&#xff1a;http://t.csdnimg.cn/Nqdvn 目錄 系列文章目錄 前言 1. 查找總價格為目標值的兩個商品 &#xff08;1&#xff09;題目及示例 &#xff08;2&#xff09;思路&#xff08…

純css寫一個動態圣誕老人

效果預覽 在這篇文章中&#xff0c;我們將學習如何使用CSS來創建一個生動的圣誕老人動畫。通過CSS的魔力&#xff0c;我們可以讓圣誕老人在網頁上搖擺&#xff0c;仿佛在向我們招手慶祝圣誕節和新年。 實現思路 實現這個效果的關鍵在于CSS的keyframes動畫規則以及各種CSS屬性…

想要打造高效活躍的私域社群,這些技巧要知道

對一些企業來說“做社群等于做私域”。 在騰訊提到的私域轉化場景中&#xff0c;社群與小程序、官方導購三者并列。 社群連接著品牌和群內用戶。品牌通過圈住更多用戶&#xff0c;來持續免費觸達用戶實現變現&#xff0c;用戶則是從品牌方手中直接獲取更多服務和優惠。那么&a…

【絕對有用】yolo系列目標檢測 核心技術點 匯總

YOLO (You Only Look Once) 是一種高效的目標檢測算法&#xff0c;它以速度和精度著稱。YOLO 的工作原理是將目標檢測視為一個回歸問題&#xff0c;直接從圖像的像素空間預測目標的類別和位置。YOLO 目標檢測頭包括以下幾個關鍵部分&#xff1a; 輸入圖像處理&#xff1a; YOLO…

云計算【第一階段(19)】磁盤管理與文件系統 LVM與磁盤配額(二)

目錄 一、LVM概述 1.1、LVM機制的基本概念 ?編輯 1.2、LVM的管理命令 1.3、lvm存儲 兩種機制 1.4、lvm應用實例 二、磁盤配額概述 2.1、設置磁盤配額 2.2.1、實現磁盤限額的條件 2.2.2、linux磁盤限額的特點 2.2.3、磁盤配額管理 一、LVM概述 1.1、LVM機制的基本概…