Webx框架:Pipeline基本介绍
Pipeline。
它是管道的含義。一個管道閥門可以安裝非常多。有許多可能的分支。它是用來控制頁處理。它需要在被定義pipeline.xml文件。該文件是為每個閥的標簽。該文件可以放一些簡單的控制語句。在項目。這條管線有以下配置足夠好。
--> <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基本介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在物联网低代码平台中使用数据字典功能
- 下一篇: HiTool烧写Hi3536操作记录