论文部分内容阅读
随着Web技术的迅猛发展和应用,以及面向对象技术、组件技术的日益发展和成熟,Web应用需求日益增多,并将逐渐成为下一代软件开发的主流。J2EE架构己成为Web系统最常用的系统架构之一,而由于J2EE的核心规范EJB存在很多缺陷,在一般的实际应用中显得不适用。与之相’七,基于J2EE的轻量级Web开源框架,由于其本身具有的各种优势,正在为越来越多的企业所广泛使用。
本文对国内外Web架构的研究与开发现状进行简单介绍,对Struts, Spring,持久层技术等流行的轻量级J2EE Web应用架构进行分析对比,对Web框架设计-中所使用的相关理论进行探讨,包括MVC、控制反转、和面向切面编程,并提出在实际开发中该如何使用这些架构,如何对框架进行相应扩展。
MVC将应用程序系统分为模型/视图/控制器三个模块组成部分。在出现MVC模式之前,用户界面设计通常和业务逻辑和并在一起,而MVC模式则把它们分离开,使各个模块相对独立,提高灵活性与复用性。基于MVC设计模式的架构的Struts的目标是为利用Java技术开发基于MVC模式的Web应用提供一个标准模式,这些轻量级的Web架构除了实现MVC设计模式外,一般还有控制反转及面向切面编程的设计思想。控制反转就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控,控制反转的控制权由应用代码中转到了外部容器。面向切面编程允许通过分离应用的业务逻辑与系统服务进行内聚性的开发,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。典型的Web应用的另一个末端是持久层。持久性框架是一组软件服务,将应用程序与其使用和操纵的数据源分离,透明实现了延迟加载、事务管理、分页以及缓存管理。
此外由于Web的B/S架构是基于请求响应无状态连接的http协议,使得与传统的C/S架构相比,在用户体验上有些不足。 Ajax技术的出现就是为了实现页面的异步响应无刷新,改善客户体验。