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基本介绍相关推荐

  1. Webx框架:Spring Schema 和 Spring Ext

    webx诞生的原因是当时市面上没有好用的web框架.如今的Web框架有非常多.然后它们背后的思想都是相似的,并且越来越趋同. Spring Schema 在传统的spring中,配置bean时须要手动 ...

  2. WebX框架的页面授权

    WebX框架的页面授权 什么是页面授权,简单来说就是对于一个Web应用程序里,哪些页面可以被哪些人在什么情况下访问进行限制.举个简单的例子,有些页面只有用户登录以后才能访问,而另外一些页面无论是否用户 ...

  3. webx 框架入门一

    来阿里实习一个多月了,被拉着直接上新项目.由于新项目要使用webx,webx框架是淘宝的框架,比较厚重又复杂,但是性能毋庸置疑(毕竟每年双十一都挺过来了).由于webx文档较少,基本都是阿里内部使用. ...

  4. scrum回顾_沙龙回顾 | 大规模敏捷框架-Essential SAFe介绍

    作者:袁翠 2019年1月20日,这是一个周日的晚上,尽管如此,来参加沙龙的人还是不少,与其在家无所事事,不如来一场知识的火花碰撞. 按照惯例,先是进行自我介绍.如果说这次自我介绍与以往有任何不同的地 ...

  5. python django框架分析_Django框架模型简单介绍与使用分析

    本文实例讲述了Django框架模型简单介绍与使用.分享给大家供大家参考,具体如下: ORM介绍 ORM Object relational mapping 对象关系映射 把面向对象中的类和数据库表一一 ...

  6. python自动化_python自动化测试-Behave框架的用法介绍 - python测试学习

    测码学院  Behave框架的用法介绍 众所周知:行为驱动开发((behavior-drivendevelopment,BDD)是一种基于敏捷软件开发的方法.它可以鼓励开发人员,业务参与者和QA人员之 ...

  7. OpenCart框架运行流程介绍opencart资料链接

    opencart 主要文件夹结构和文件说明 opencart 单入口文件简单分析 opencart中文使用手册 opencart 模块开发详解 OpenCart源码目录结构详解 opencart中的l ...

  8. 基于C++的高性能http框架cinatra及其web框架示例feather介绍及开发演示

    说起web开发框架,一定会想到java,php,python等快速开发语言,在从多web开发技术中少有使用C++进行开发,虽然C++性能优越,但是由于开发周期长,语言本身的复杂性,不符合当前快速敏捷开 ...

  9. shiro框架---shiro配置介绍(一)

    接上一篇文章shiro框架-通过系统介绍shiro框架中的实现逻辑   项目已分享到GitHub上,如果需要的可以看下,springboot+shiro项目Git下载地址. shiro在springb ...

  10. 『Python学习笔记』Python中的异步Web框架之fastAPI介绍RestAPI

    Python中的异步Web框架之fastAPI介绍&RestAPI 文章目录 一. fastAPI简要介绍 1.1. 安装 1.2. 创建 1.3. get方法 1.4. post方法 1.5 ...

最新文章

  1. python怎么读_如何用Python读写文件
  2. js原理之执行上下文
  3. ASP.NET MVC 3 RC发布
  4. 文献记录(part20)--Discriminative metric learning for multi-view graph partitioning
  5. Qt 中事件与处理
  6. 常用的Homebrew的命令的使用
  7. KDD2018 阿里巴巴论文揭示自家大规模视觉搜索算法
  8. 住个酒店,“我”的隐私就被强制扒干净了!
  9. CentOS/Ubuntu 14.10 安装 phpstorm
  10. 绚丽的javascript拾色器(不兼容IE8及以下)
  11. 解决Glide 4.8.0 圆角与CenterCrop 的冲突问题
  12. matlab自带优化工具箱,二元一次函数
  13. 10的几次方 用计算机计算公式,在excel中如何计算10的几次方呢
  14. 流程工业MES管理系统有什么特点
  15. 把音频中的某个人声去掉_如何把音乐文件里的人声去掉只保留伴奏
  16. 淘宝双十一喵果总动员之喵树大挑战玩法攻略
  17. c语言编译器提示隐式声明,在C中使用“隐式声明功能”警告有什么含义?
  18. java虚拟机假死怎么办_虚拟机假死解决方法
  19. 计算机子网掩码作用,什么是子网掩码 子网掩码的作用是什么?
  20. python tensorflow教程_真正从零开始,TensorFlow详细安装入门图文教程!

热门文章

  1. python中读写excel_python读写Excel
  2. zabbix入门之定义触发器
  3. Concurrent HTTP connections in Node.js
  4. django-form and fields validation
  5. 关于单片机串口发送和接收的问题
  6. 一个TextView使用不同的颜色
  7. 坡度土方计算案例_土石方工程造价中的细节解析(案例+计算式)
  8. PHP鼠标滑过变色命令,WordPress鼠标悬停变色的修改方法
  9. 6、jeecg 笔记之 自定义excel 模板导出(一)
  10. Android studio ERROR: Software caused connection abort: recv failed 解决方法