前言
标准MVC开源框架有很多(Struts、SpringMVC、Webx),对于生活在开源世界里面的码农来说SpringMVC、Struts是接触比较多,也是最熟悉的框架。
知己知彼
以配置SpringMVC为例,我们常常关注的点主要有以下几个方面:
1.web.xml文件里面请求分配器的配置(DispatcherServlet)。如下图:
拦截以do结尾的HTTP请求。
2.视图控制器(ViewResolver),velocity、freemarker、jsp等,以jsp为例。如下图:
配置了所有视图都到/WEB-INF/view里面去找。
3.拦截器(Interceptor)。如下图:
4.适配器(Handleradapter)。如下图:
配置url请求和处理函数间的mapping关系。
5.请求路径映射(HandlerMapping)。如下图:
通过HandlerAdapter来实际调用处理函数。
三两下配置就能够起工程成功访问了。
注:为什么以SpringMVC为例,这里主要有两个方面的原因
- SpringMVC与后面我们要说到的Webx一样都是基于Spring容器。
- SpringMVC比较简单
Webx框架
框架说明书:http://openwebx.org/docs/Webx3_Guide_Book.html
框架搭建
执行环境:windows、maven
执行步骤:
1.新建一个目录,例如:D:\workspace。注意在盘符目录下是无法执行成功的。
2.执行如下命令:
mvn archetype:generate -DgroupId=com.alibaba.webx -DartifactId=mywebx -Dversion=1.0-SNAPSHOT -Dpackage=com.alibaba.webx.mywebx -DarchetypeArtifactId=archetype-webx-quickstart -DarchetypeGroupId=com.alibaba.citrus.sample -DarchetypeVersion=1.0 -DinteractiveMode=false
命令执行完后,你会看见一个新目录:mywebx。这个项目其实是Maven从webx在中央库的原型生成的一个骨架,原型是archetype-webx-quickstart。
框架结构
Webx解决了单工程中包含不同架构配置,例如:根据业务需要在工程中区分同一会员用户不同权限、业务功能、页面展示时,可以通过业务角度切分工程并配置webx-account.xml、webx-gateway.xml等。方便业务并行开发。
(1)业务功能模块具体实现;
(2)业务功能模块的页面展示;
(3)针对业务功能模块后台简单校验;
(4)针对该业务功能的总配置;
WEB-INF文件夹下各个配置文件说明
- logback.xml:日志配置;
- web.xml:WEB工程初始化配置信息;
- webx.xml:webx通用配置,webx容器初始化的Bean能够让所有子业务容器依赖。
- webx-app1.xml:webx子业务配置,子业务配置能够创建spring容器,但子业务容器之间是不能互相注入的。
具体内容可以查看框架说明书《3.1. Webx的初始化》
WEB-INF/common文件夹下各个配置文件说明
- pipeline.xml:拦截器配置文件,相当于SpringMVC(Struts)中的Interceptor。
- pipeline-exception.xml:异常拦截配置文件。
- resources.xml:资源文件加载配置,负责资源的重定向、重命名等。
- uris.xml:外部地址url调用配置文件。
- webx-component-and-root.xml:配置模板渲染引擎、映射规则等。
- webx-component.xml:定义模板页面能够直接使用的工具类。
从这些配置可以看出,webx与我们接触的SpringMVC、Struts类似,只不过前者控制更加细粒度化,而后者我们更多的是使用开源的封装,所以配置量较少。
代码结构及编写
对于开发人员来说,最关心的莫过于上手去用这个框架。从工程接收请求到服务器响应并返回信息这整个过程,webx有自己的规则,与我们所接触的开源框架有所区别。如下图:
根据Http请求中所带参数中是否有action,Webx在代码层执行的内容也有所区别。
不带action参数请求
webx执行步骤如下:
步骤一、若控制层screen中存在Login.java代码,则执行Login.java代码。
步骤二、执行模板层layout中login.vm(若layout中没有对应名字的布局模板,则会调用默认模板default.vm)。
步骤三、执行模板层screen中的login.vm。
带action参数请求
webx执行步骤如下:
步骤一、执行控制层action中LoginController.java代码,指定类必须存在,否则会出现404异常。
步骤二、若控制层screen中存在Login.java代码,则执行Login.java代码。
步骤三、执行模板层layout中login.vm(若layout中没有对应名字的布局模板,则会调用默认模板default.vm)。
步骤四、执行模板层screen中的login.vm。
控制层action、screen层编写
Webx规定了action、screen层的默认入口函数为execute,即当类名与路径能够匹配的时候(路径与类名可以以驼峰命名方式,也可以中间以下划线“_”来连接,只有首字母能够忽略大小写),webx会执行类名下execute()方法。示例:
工程中常用的方法
控制层action:处理用户操作动作,比如登录、提交数据等。
控制层screen:处理页面展示所需内容。
在老版本的webx中(version小于webx3.0.9)screen层一个Java类只能处理一个页面。而action层可以处理多个不同业务动作。
action层代码有所变化,具体示例如下:
(1)提交时必须指明访问的具体方法,且需要有“event_submit_”前缀。
(2)指定具体的action时,需要注意包路径。
拦截器
Webx中针对拦截器的配置主要集中在pipeline.xml中。在日常业务开发中免不了要进行登录、权限等验证,而这部分业务作为拦截器再适合不过了。详细配置方式可以查看框架说明书《6.3.3. Pipeline的使用》。
相关推荐
【Webx及框架简介】 ...最后,对于初学者,可以参考提供的PPT材料,如"Webx及框架简介(1).ppt"和"Webx及框架简介(2).ppt",它们通常包含框架的基本介绍、使用示例和最佳实践,能够帮助深入理解Webx的运作原理和优势。
Webx框架对filter的使用进行了优化,并且在定制Pipeline流程时,可以结合Filter来实现复杂的请求处理逻辑。 综上所述,Webx框架结合了传统Spring框架的优秀特性,并在Web应用开发方面提供了更加强大和灵活的功能。...
可能包括如何定义业务服务、如何设计数据访问对象(DAO)、如何使用框架提供的事务管理功能,以及最佳实践和注意事项。 通过学习以上这些文档和实践案例,开发者可以逐步掌握WEBX框架的精髓,提高在淘宝这样的大型...
随着Webx3.0的开源,它为更多的开发人员提供了使用和贡献该框架的机会。 在Webx框架中,Car(Component Archive)类似于传统的War(Web Application Archive),但具备更高级别的抽象和模块化特性。Car文件结构类似...
使用Webx框架,开发者可以充分利用Java的强大功能和广泛的生态系统,包括各种开源库和工具,以提高开发效率和产品质量。 文件"citrus-master"可能是Webx框架的一个示例项目或者扩展库,名为"Citrus"。Citrus可能是...
Webx是基于Java的Web应用框架,它具有高成熟度和可靠性,并且具备强大的开放性和扩展性。Webx框架的文档详细介绍了该框架的...Webx框架文档的发布,为那些希望使用Webx进行Web开发的开发者提供了宝贵的技术参考资料。
Webx使用Spring的ResourceLoader机制来装载资源,但也有其自己的ResourceLoading服务,使得开发者可以替换或扩展Spring的ResourceLoader。资源加载服务允许开发者自定义资源表示、资源重命名、重定向以及资源匹配等...
Webx框架的历史可以追溯到2010年,当时设计者MichaelZhou出版了《Webx框架指南》,详细介绍了Webx框架的设计初衷和使用方法。Webx框架在设计理念上与当时流行的其他开源框架有所不同,它更加强调成熟可靠性和开放...
### WEBX3.0框架指南知识点汇总 #### 引言 **WEBX3.0框架**是一款基于Java Servlet API的通用Web开发框架,在阿里巴巴集团内部得到了广泛应用。此框架旨在简化Web应用的开发与维护过程,并提供了强大的功能支持,...
- **框架的本质**:Webx的核心设计思想是为开发者提供一套易于理解和使用的API集合,使得他们能够快速构建出高性能、高可靠性的Web应用程序。 - **基础框架**:该框架建立在一个强大的基础之上,包括但不限于Spring...
webx页面使用了velocity模板,WEB层使用的是WEBX框架里面的TemplateAction,TemplateScreen,AbstractModule,TemplateControl,解决了操作和页面的跳转。持久层使用ibatis,Bean容器使用的是Spring。
《WebX3 Guide Book学习指南》是一本由Michael Zhou编写的关于Webx框架的专业书籍,出版于2010年11月13日。Webx框架是一个用于构建Web应用程序的强大工具,尤其在Java开发领域中有着广泛的应用。本书旨在为开发者...
本指南将深入探讨Webx3框架的核心特性和使用方法,结合《Webx3_Guide_Book.pdf》的详细文档,我们将全面解析以下几个关键知识点: 1. **框架架构**:Webx3 的架构设计基于组件化思想,允许开发者灵活地选择和配置...
### Webx3框架知识点概述 #### 一、Webx3框架简介 - **定义与背景**:Webx3是阿里巴巴公司推出的一款专为大规模互联网应用设计的企业级开发框架。该框架旨在解决传统Java Web开发中遇到的问题,如复杂的配置、低效...
4. **良好的社区支持**:作为阿里巴巴内部广泛使用的框架,有丰富的实践经验和社区支持。 总结来说,WebX框架是阿里巴巴为解决大型Web应用开发复杂性而设计的工具,它通过组件化和透明化的方式,提升了开发效率和...
WebX 是一个开源的、基于Java的企业级Web应用框架,主要设计用于构建企业信息系统和B/S架构的应用。这个框架提供了一整套开发工具和技术支持,包括数据库操作、表单处理、权限控制、模板引擎等功能,旨在提高开发...
**二、WebX使用总结** WebX提供了一套强大的MVC(模型-视图-控制器)架构,使得开发者能够清晰地分离业务逻辑和显示逻辑。`Webx.xml`是框架的主要配置文件,用于定义路由规则、组件关系以及数据绑定等。熟练掌握XML...
虽然描述信息为空,但我们可以从“博文链接”中推测,该文档可能包含了一篇关于Webx框架的博主个人经验总结,可能涉及了Webx的实际应用案例、源码解析和使用技巧。通过阅读博主的文章,读者可以了解到Webx在实际项目...