日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Webx框架:Pipeline基本介绍

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Webx框架:Pipeline基本介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pipeline。

它是管道的含義。一個管道閥門可以安裝非常多。有許多可能的分支。它是用來控制頁處理。它需要在被定義pipeline.xml文件。該文件是為每個閥的標簽。該文件可以放一些簡單的控制語句。在項目。這條管線有以下配置足夠好。


<services:pipeline xmlns="http://www.alibaba.com/schema/services/pipeline/valves"><!-- 初始化 turbine rundata,并在 pipelineContext 中設置可能會用到的對象(如rundata、utils),以便 valve 取得。 --><prepareForTurbine /><!-- 設置日志系統的上下文,支持把當前請求的詳情打印在日志中。

--> <setLoggingContext /> <!-- 分析URL,取得target。

--> <analyzeURL homepage="homepage" /> <!-- 檢查 csrf token,防止 csrf 攻擊和反復提交。假如 request 和 session 中的 token 不匹配,則出錯,或顯示 expired 頁面。 --> <checkCsrfToken /> <!-- 這里為什么要用循環呢? --> <loop> <choose> <when> <!-- 運行帶模板的screen,默認有layout。 --> <pl-conditions:target-extension-condition extension="null, vm, jsp" /> <performAction /> <performTemplateScreen /> <renderTemplate /> </when> <when> <!-- 運行不帶模板的screen,默認無layout。

--> <pl-conditions:target-extension-condition extension="do" /> <performAction /> <performScreen /> </when> <otherwise> <!-- 將控制交還給 servlet engine。 --> <exit /> </otherwise> </choose> <!-- 假如 rundata.setRedirectTarget() 被設置,則循環,否則退出循環。

--> <breakUnlessTargetRedirected /> </loop> </services:pipeline>


為什么要引入Pipeline?這是由于傳統的Filter受到限制,僅僅能訪問或者改動HttpServletRequest、HttpServletResponse、ServletContext三個對象,不能訪問應用程序中的狀態。流程控制過于簡單,僅僅能繼續運行或者終止運行,沒有循環、分支等機制。還有Filter無法訪問其它Filter的狀態,在性能優化的時候比較困難。


為了克服Filter的缺點。Webx引入了RequestContext和Pipeline。當中RequestContext負責訪問和改動request和response對象,和Pipeline負責控制運行的進程的請求。

版權聲明:本文博客原創文章。博客,未經同意,不得轉載。

轉載于:https://www.cnblogs.com/gcczhongduan/p/4678675.html

總結

以上是生活随笔為你收集整理的Webx框架:Pipeline基本介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。