Webx Framework负责完成一系列基础性的任务
Webx Framework的任务
初始化Spring容器
初始化日志系统
增强request/response/session的功能
提供pipeline流程处理机制
异常处理
开发模式
一、初始化spring容器,在web.xml中添加监听器:
<listener>
<listener-class>com.alibaba.citrus.webx.context.WebxContextLoaderListener</listener-class>
</listener>
WebxContextLoaderListener
用于初始化Spring
,搜索WEB-INF
目录下的子应用配置文件,为每个子应用创建Spring
容器
WebxContextLoaderListener
是从spring
的ContextLoaderListener
派生出来的。ContextLoaderListener
我们还是比较熟悉的,在使用spring
的时候会在web.xml
中配置。
二、初始化日志系统
<listener>
<listener-class>com.alibaba.citrus.logconfig.LogConfiguratorListener</listener-class>
</listener>
LogConfigurationListener
用于初始化日志系统(使用配置文件log4j.xml或logback.xml)
三、webx响应请求
当Webx Framework接收到一个来自WEB的请求以后,实际上它主要做了两件事:
首先,它会增强request、response、session的功能,并把它们打包成更易使用的RequestContext对象。
其次,它会调用相应子应用的pipeline,用它来做进一步的处理。
假如在上面的过程中出现异常,则会触发Webx Framework处理异常的过程。
四、pipeline流程控制
Pipeline
的意思是管道,管道中有许多阀门(Valve),阀门可以控制水流的走向。Webx Framework
中的pipeline
可以控制处理请求的流程的走向
五、异常处理机制
当应用发生异常时,Webx Framework可以处理这些异常。
六、开发模式工具
Webx Framework提供了一个开关,可以让应用运行于“生产模式(Production Mode)”或是“开发模式(Development Mode)” 。
<services:webx-configuration>
<services:productionMode>${productionMode:true}</services:productionMode>
</services:webx-configuration>
productionMode:true表示开发模式启动
在生产模式和开发模式下有一些不同的地方,具体的内容见官方文档。