中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Spring Boot中使用Filter過濾器

發布時間:2021-05-17 17:39:24 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

本篇文章為大家展示了如何在Spring Boot中使用Filter過濾器,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、引入spring-boot-starter-web

在pom.xml 中引入spring-boot-starter-web包。

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

2、建立過濾器程序

@Order(1):表示過濾器的順序,假設我們有多個過濾器,你如何確定過濾器的執行順序?這個注解就是規定過濾器的順序。

@WebFilter:表示這個class是過濾器。

里面的參數,filterName 為過濾器名字,urlPatterns 為過濾器的范圍,initParams 為過濾器初始化參數。

過濾器里面的三個方法

init : filter對象只會創建一次,init方法也只會執行一次。

doFilter : 主要的業務代碼編寫方法,可以多次重復調用

destroy : 在銷毀Filter時自動調用(程序關閉或者主動銷毀Filter)。

@Order(1)
@WebFilter(filterName = "piceaFilter", urlPatterns = "/*" , initParams = {
    @WebInitParam(name = "URL", value = "http://localhost:8080")})
public class PiceaFilter implements Filter {

  private String url;
  /**
   * 可以初始化Filter在web.xml里面配置的初始化參數
   * filter對象只會創建一次,init方法也只會執行一次。
   * @param filterConfig
   * @throws ServletException
   */
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
    this.url = filterConfig.getInitParameter("URL");
    System.out.println("我是過濾器的初始化方法!URL=" + this.url + ",生活開始.........");
  }

  /**
   * 主要的業務代碼編寫方法
   * @param servletRequest
   * @param servletResponse
   * @param filterChain
   * @throws IOException
   * @throws ServletException
   */
  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    System.out.println("我是過濾器的執行方法,客戶端向Servlet發送的請求被我攔截到了");
    filterChain.doFilter(servletRequest, servletResponse);
    System.out.println("我是過濾器的執行方法,Servlet向客戶端發送的響應被我攔截到了");
  }

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

3、建立Contoller類

這個類比較簡單,不做特別說明

@RestController
public class PiceaContoller {

  @RequestMapping("/query")
  public void asyncTask() throws Exception {
    System.out.println("我是控制類里面的方法,我正在思考...............");
  }
}

4、啟動類中增加注解,自動注冊Filter

@ServletComponentScan :在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通過@WebServlet、@WebFilter、@WebListener注解自動注冊,無需其他代碼。

@SpringBootApplication
@ServletComponentScan
public class SpringBootFiFilterApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringBootFiFilterApplication.class, args);
  }

}

5、測試結果

好吧,又到了看療效的時候了。

在瀏覽中輸入:http://localhost:2001/query

這個時候控制臺的輸入為如下圖片。

如何在Spring Boot中使用Filter過濾器

springboot是什么

springboot一種全新的編程規范,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程,SpringBoot也是一個服務于框架的框架,服務范圍是簡化配置文件。

上述內容就是如何在Spring Boot中使用Filter過濾器,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔浦县| 报价| 溧阳市| 郴州市| 项城市| 明水县| 武清区| 佛坪县| 陆丰市| 旬阳县| 德清县| 济南市| 弥渡县| 盘锦市| 奉新县| 平江县| 清新县| 洛扎县| 澄江县| 绥德县| 陆川县| 靖安县| 扶沟县| 壶关县| 唐海县| 贵德县| 博白县| 光泽县| 桓仁| 广元市| 瑞昌市| 洛扎县| 武冈市| 东乡| 洛宁县| 禄劝| 繁昌县| 达日县| 漳浦县| 莎车县| 敖汉旗|