WeBX框架(一)
webx框架是基于Springext框架的一个扩展。
springext框架的ResourceLoadingService可以使webx框架可以从任意地方加载配置文件。
springext框架可以扩展spring schema约束。
Springext装配服务很强大。
Webx框架的三层结构:
1、 Springext:扩展spring,提供扩展组件的能力
2、 webxFramework:提供基础服务servlet—api
3、 webx—turbine:实现具体的网页功能
webx—turbine框架本身定义了一套pipeline的实现。
Webx-framework
作用:初始化spring容器,初始化日志系统
增强request/response/session,提供pipeline流程处理机制。
异常处理。开发模式。
初始化:初始化级联的spring容器。将一个WEB应用分解成多个小应用。多个小应用之间相互不影响。使用filter来过滤请求,经过WebRootController和WebController加载pipeline文件。使用pipeline管道流控制,具体执行流程(target)。
Webx—framework接受一个请求做的事:
当Webx Framework接收到一个来自WEB的请求以后,实际上它主要做了两件事:
首先,它会增强request、response、session的功能,并把它们打包成更易使用的RequestContext对象。其次,它会调用相应子应用的pipeline,用它来做进一步的处理。假如在上面的过程中出现异常,则会触发Webx Framework处理异常的过程。
此外,Webx Framework还提供了一组辅助开发的功能,例如查看环境变量,查看schema等。这些功能只在开发模式生效,生产模式下自动关闭。
管道流程的主要执行的过程:
分析url—-权限检查(需要另外配置东西)—–处理Action—-是否重定向?—-清理——结束。
由WebController来调用pipeline。
Webx—turbine
设计理念:页面驱动,约定胜于配置。
页面驱动:让页面设计师直接创建模板。并利用pull tools服务。让模板按需取到这些对象。
实现简单的功能。例如验证。
约定胜于配置:
将url映射成target—将target转换成模板名。
将target转换成layout布局。
将target转换成module。
Module分为三个模块:screan、action、control(其中action是用来处理用户提交的表单的)
根据pipeline的流程,按照写定的流程,来执行对应的东西。
其中可能包含,模板的渲染。当进行模板渲染时,会相应的加载一些同目录下的layout布局。将模板内容填充到layout布局中,响应给客户端。
总结:webx是基于spring的一个扩展,spring具有的功能,webx也具有。Webx的请求的参数的注入,和springmvc的一致。但request,response,session可以直接成员变量注入。现在webx框架也开源了,相关文档。有一套完整的介绍。有兴趣的可以去看看。