真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

深入解析SpringCloud內(nèi)置的Zuul過濾器-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

10年積累的網(wǎng)站制作、網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計制作后付款的網(wǎng)站建設流程,更有札達免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

前言

Spring Cloud默認為Zuul編寫并啟用了一些過濾器,這些過濾器有什么作用呢?我們不妨按照@EnableZuulServer、@EnableZuulProxy兩個注解進行展開,相信大家對這兩個注解都不陌生(至少都見過吧)。如果覺得陌生也沒有關系,可將@EnableZuulProxy簡單理解為@EnableZuulServer的增強版。事實上,當Zuul與Eureka、Ribbon等組件配合使用時,

@EnableZuulProxy是我們常用的注解。

在Spring Cloud的官方文檔中,只說@EnableZuulServer是一個“空白”的Zuul,那么究竟空白在什么地方呢?與@EnableZuulProxy到底有什么區(qū)別呢?諸多問題,都將在本文找到答案。

在此之前,我們先理解什么是RequestContext:

RequestContext:用于在過濾器之間傳遞消息。它的數(shù)據(jù)保存在每個請求的ThreadLocal中。它用于存儲請求路由到哪里、錯誤、HttpServletRequest、HttpServletResponse都存儲在RequestContext中。RequestContext擴展了ConcurrentHashMap,所以,任何數(shù)據(jù)都可以存儲在上下文中。

@EnableZuulServer過濾器

一、pre類型過濾器

(1) ServletDetectionFilter:該過濾器用于檢查請求是否通過Spring Dispatcher。檢查后,通過isDispatcherServletRequest設置布爾值。

(2) FormBodyWrapperFilter:解析表單數(shù)據(jù),并為請求重新編碼。

(3) DebugFilter:顧名思義,調(diào)試用的過濾器,可以通過zuul.debug.request=true ,或在請求時,加上debug=true的參數(shù),例如$ZUUL_HOST:ZUUL_PORT/path?debug=true 開啟該過濾器。這樣,該過濾器就會把RequestContext.setDebugRouting() 、RequestContext.setDebugRequest() 設為true。

二、route類型過濾器

SendForwardFilter:該過濾器使用Servlet RequestDispatcher轉(zhuǎn)發(fā)請求,轉(zhuǎn)發(fā)位置存儲在RequestContext.getCurrentContext().get("forward.to") 中??梢詫⒙酚稍O置成:

zuul:
 routes:
 abc: 
  path: /abc/**
  url: forward:/abc

分享標題:深入解析SpringCloud內(nèi)置的Zuul過濾器-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/eojoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部