WebX3框架(2)

Webx3 是阿里巴巴内部开发使用的Java Web框架,开源也比较成熟,Webx 3.0和Spring MVC一样,完全建立在
Spring框架之上,支持Generic、Annotation,Webx 3.0对Spring做了扩展,Spring Bean不再是“bean”,而是升级成“组件”,一个组件可以扩展另一个组件,也可以被其它组件扩展。


Webx框架本身可以划分成三个大层次:SpringExt、Webx Framework、Webx Turbine。

SpringExt:基于Spring,提供扩展组件的能力。它是整个框架的基础。
Webx Framework:基于Servlet API,提供基础的服务,例如:初始化Spring、初始化日志、接收请求、错误处理、开发模式等。Webx Framework只和servlet及spring相关 —— 它不关心Web框架中常见的一些服务,例如Action处理、表单处理、模板渲染等。因此,可以用Webx Framework来创建多种风格的Web框架。
Webx Turbine:基于Webx Framework,实现具体的网页功能,例如:Action处理、表单处理、模板渲染等。


Webx3的层次化结构,让框架十分灵活,Web系统可以使用全部的Webx框架,也可以只使用部分的Webx框架,可以由系统来制定。
Webx3的容器结构:


 

初始化过程:

WEB-INF/web.xml——>LogConfiguratorListener——>WEB-INF/logback.xml——>WebxContextLoaderListener——>WEB-INF/common/aaa.xml——>WEB-INF/webx-*.xml——>WEB-INF/common/aaa.xml
Webx3采用filter而不是servlet来处理请求:web.xml将/*映射给filter,每添加一种新类型的URL,都不需要修改web.xml
同时对于webx所不能处理的请求(如静态页面、图片等),可以“退还”给servlet engine。


Webx中的Pipeline流程机制,可以定制处理的流程如下图:



在pipeline.xml中可以使用:
循环
<while> - 有条件循环
<loop> - 无条件循环
选择分支
<if> - 单分支
<choose><when><otherwise> - 多分支
中断
<break> - 无条件中断
<break-if>、<break-unless> - 有条件中断
<exit> - 无条件退出整个pipeline(结束所有的嵌套层次)
异常捕获
<try-catch-finally> - 类似Java中的try-catch-finally结构
嵌套
<sub-pipeline> - 创建嵌套的子pipeline。
等控制处理流程

 

 Webx3的请求处理序列图:



 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值