欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot過濾器的使用

 更新時(shí)間:2021年11月15日 10:37:03   作者:久曲鍵  
過濾器是對(duì)數(shù)據(jù)進(jìn)行過濾,預(yù)處理過程,當(dāng)我們訪問網(wǎng)站時(shí),有時(shí)候會(huì)發(fā)布一些敏感信息,發(fā)完以后有的會(huì)用*替代,還有就是登陸權(quán)限控制等,一個(gè)資源,沒有經(jīng)過授權(quán),肯定是不能讓用戶隨便訪問的,這個(gè)時(shí)候,也可以用到過濾器,需要的朋友可以參考一下

一、什么是過濾器

過濾器是對(duì)數(shù)據(jù)進(jìn)行過濾,預(yù)處理過程,當(dāng)我們訪問網(wǎng)站時(shí),有時(shí)候會(huì)發(fā)布一些敏感信息,發(fā)完以后有的會(huì)用*替代,還有就是登陸權(quán)限控制等,一個(gè)資源,沒有經(jīng)過授權(quán),肯定是不能讓用戶隨便訪問的,這個(gè)時(shí)候,也可以用到過濾器。過濾器的功能還有很多,例如實(shí)現(xiàn)URL級(jí)別的權(quán)限控制、壓縮響應(yīng)信息、編碼格式等等。

過濾器依賴servlet容器。在實(shí)現(xiàn)上基于函數(shù)回調(diào),可以對(duì)幾乎所有請(qǐng)求進(jìn)行過濾。

二、過濾器的使用

下面簡單的說說Spring Boot里面如何增加過濾器。

過濾器使用實(shí)例:具體示例代碼如下:

package com.rongrong.wiki.filter;

 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;

 import javax.servlet.*;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;

 @Component
 public class LogFilter implements Filter {

     private static final Logger LOG = LoggerFactory.getLogger(LogFilter.class);

     @Override
     public void init(FilterConfig filterConfig) throws ServletException {

     }

     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         // 打印請(qǐng)求信息
         HttpServletRequest request = (HttpServletRequest) servletRequest;
         LOG.info("------------- LogFilter 開始 -------------");
         LOG.info("請(qǐng)求地址: {} {}", request.getRequestURL().toString(), request.getMethod());
         LOG.info("遠(yuǎn)程地址: {}", request.getRemoteAddr());

         long startTime = System.currentTimeMillis();
         filterChain.doFilter(servletRequest, servletResponse);
         LOG.info("------------- LogFilter 結(jié)束 耗時(shí):{} ms -------------", System.currentTimeMillis() - startTime);
     }

     /**
      * 在銷毀Filter時(shí)自動(dòng)調(diào)用。
      */
     @Override
     public void destroy() {
         System.out.println("我是過濾器的被銷毀時(shí)調(diào)用的方法!,活不下去了................" );
     }
 }

過濾器里面的三個(gè)方法:

  • init filter對(duì)象只會(huì)創(chuàng)建一次,init方法也只會(huì)執(zhí)行一次。
  • doFilter : 主要的業(yè)務(wù)代碼編寫方法,可以多次重復(fù)調(diào)用
  • destroy : 在銷毀Filter時(shí)自動(dòng)調(diào)用(程序關(guān)閉或者主動(dòng)銷毀Filter)。

三、測試結(jié)果

重新啟動(dòng)服務(wù),刷新頁面,查看結(jié)果如下圖:

到此這篇關(guān)于SpringBoot過濾器的使用的文章就介紹到這了,更多相關(guān)SpringBoot過濾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java如何為 PPT 中的圖形添加陰影效果

    Java如何為 PPT 中的圖形添加陰影效果

    這篇文章主要介紹了Java如何為 PPT 中的圖形添加陰影效果,幫助大家更好的利用java處理圖像,感興趣的朋友可以了解下
    2020-09-09
  • 面試官:java ThreadLocal真的會(huì)造成內(nèi)存泄露嗎

    面試官:java ThreadLocal真的會(huì)造成內(nèi)存泄露嗎

    ThreadLocal,java面試過程中的“釘子戶”,在網(wǎng)上也充斥著各種有關(guān)ThreadLocal內(nèi)存泄露的問題,本文換個(gè)角度,先思考ThreadLocal體系中的ThreadLocalMap為什么要設(shè)計(jì)成弱引用
    2021-08-08
  • 解決JSON.toJSONString首字母大小寫的問題

    解決JSON.toJSONString首字母大小寫的問題

    這篇文章主要介紹了解決JSON.toJSONString首字母大小寫的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 利用Maven實(shí)現(xiàn)將代碼打包成第三方公共jar包

    利用Maven實(shí)現(xiàn)將代碼打包成第三方公共jar包

    在項(xiàng)目開發(fā)過程中,我們經(jīng)常需要將一些公共方法提取出來,然后單獨(dú)封裝成一個(gè)第三方公共jar包,采用普通的方式打包后的jar,依賴的工程執(zhí)行編譯時(shí),卻提示找不到對(duì)應(yīng)的依賴包,那么如何將工程打包為可執(zhí)行jar包呢?下面向大家分享三種方法
    2022-10-10
  • 基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步

    基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步

    這篇文章主要為大家詳細(xì)介紹了基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 基于Java 談回調(diào)函數(shù)

    基于Java 談回調(diào)函數(shù)

    回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來調(diào)用其所 指向的函數(shù)時(shí),我們就說這是回調(diào)函數(shù)
    2017-05-05
  • 盤點(diǎn)幾種常見的java排序算法

    盤點(diǎn)幾種常見的java排序算法

    所謂排序就是使一串記錄,按照其中的某個(gè)或某些關(guān)鍵字的大小,遞增或遞減的排列起來的操作,下面這篇文章主要給大家介紹了幾種常見的java排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 詳解Java程序啟動(dòng)時(shí)-D指定參數(shù)是什么

    詳解Java程序啟動(dòng)時(shí)-D指定參數(shù)是什么

    java服務(wù)啟動(dòng)的時(shí)候,都會(huì)指定一些參數(shù),下面這篇文章主要給大家介紹了關(guān)于Java程序啟動(dòng)時(shí)-D指定參數(shù)是什么的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • java中double類型運(yùn)算結(jié)果異常的解決方法

    java中double類型運(yùn)算結(jié)果異常的解決方法

    下面小編就為大家?guī)硪黄猨ava中double類型運(yùn)算結(jié)果異常的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • hadoop運(yùn)行java程序(jar包)并運(yùn)行時(shí)動(dòng)態(tài)指定參數(shù)

    hadoop運(yùn)行java程序(jar包)并運(yùn)行時(shí)動(dòng)態(tài)指定參數(shù)

    這篇文章主要介紹了hadoop如何運(yùn)行java程序(jar包)并運(yùn)行時(shí)動(dòng)態(tài)指定參數(shù),使用hadoop 運(yùn)行 java jar包,Main函數(shù)一定要加上全限定類名,需要的朋友可以參考下
    2021-06-06

最新評(píng)論