Web应用程序模型及其Java实现之第三部分

第三部分:MVCD模型

在上一节中,从一般的原则上介绍了两种Web应用模型,但是如何理解和把握这样的模型,将不同的Web技术正确应用到Web程序不同的功能模块中是一个非常实际的话题。下面就在实际编程中如何去掌握Web编程模型做一些分析。

1、两层客户/服务器模型

图11、两层客户/服务器模型

Web应用程序天生是一种客户/服务器应用程序,在ASP(Application Service Provider)逐渐成为Internet应用发展的一个重要方向的时候,使用哪一种编程模型来实现Web应用程序还处于探索之中。上面介绍的微软的DNA结构和Java编程结构就是人们在ASP(Application Service Provider)编程模型上进行探索的结果,但是由于这些技术出现比较新、掌握起来也有一些难度,所以许多编程人员采用了使用ASP或是JSP中嵌入“SQL”来实现数据存取和一些相关逻辑,如图11所示。

这样的编程模型有对一些小型系统比较合适,因为不需要太复杂的技术,技术人员比较好找,实现起来也比较快。但是,这种编程模型缺点还是比较明显的:维护困难、重用困难、大型系统中难以管理。

要解决该模型问题的关键是,将逻辑层抽象出来。但是,在以数据中心编程中,数据库不但提供基本的数据存取功能,而且与SQL丰富的表达能力一起提供强大的逻辑表达能力;再上节介绍的图9、图10所示两种模型掌握起来有一些难度,所以出现了该模型的一个改良版本,如图12所示。

图12、改良的客户/服务器模型

组成在该改良的模型中,为数据库中的主要的表都建立了一个类,JSP/ASP通过该类实现对数据库表的操作。这个模型一个方面实现了SQL语句封装,方便了程序的维护;另一个方面也提高了系统的重用性,即对Table类的重用。

但是,由于大多数数据库操作都是针对多数据表的操作,如果采用单表的方式来完成逻辑,未免有些浪费数据库与SQL的逻辑功能。另外,由于系统没有实现逻辑层的抽象,不能解决上面提高关键问题。

2、MVC模型的介绍

在传统的面向对象编程中,我们曾经接触过MVC模型,如图12所示。

图13、MVC模型

时间: 2024-12-28 12:50:47

Web应用程序模型及其Java实现之第三部分的相关文章

Web应用程序模型及其Java实现之第二部分

第二部分:认识两个重要的ASP(Application Service Provider)模型 在前一节关于体系结构介绍的基础上,本节进一步介绍Web应用的体系结构,并且详细介绍了两个主流的Web应用体系结构. 1.从"Web内容"到"Web应用" ASP(Application Service Provider)的出现,或是说Web应用程序的出现是Internet的技术及应用不断发展的结果.早期的Internet是作为一种为用户提供静态的内容的工具,如图7所示.

Web应用程序模型及其Java实现之第一部分

第一部分:几种典型的应用程序模型 应用程序是什么,简单的来说,它是人类客观世界的问题领域在计算机世界的解决方案.我们生活的客观世界复杂多样,计算机世界也是博大精深,怎样从普遍的意义上来表述应用程序是一个非常有用的课题.应用程序的编程模型,也就是应用程序的拓扑结构,是一门关于应用程序的科学.从事软件设计.软件开发的人员,如果能够就应用程序的编程模型有足够的重视,将受益匪浅. 引言 简单介绍应用程序编程模型的发展过程,以及我们常用的几种应用程序编程模型.通过对多个模型的表述加深人们对编程模型的概念,

在Visual Web应用程序中使用Java Persistence API

借助 NetBeans IDE 6.0 和 Visual Web 工具,您可以使用 Visual Web 数据提供程 序组件以及 Java Persistence API(JPA)来编写连接到数据库表的应用程序.建立了到 数据库表的连接之后,可以使用 Java Persistence API 执行数据库 CRUD 操作(即创建 .读取.更新和删除操作).在开发基于数据库的应用程序时,使用 Java Persistence API 能提供更高的灵活性. 本文是本系列文章的第 1 篇(共两篇),主要

Web应用程序框架 Easy Java Websites 2.4发布!

Easy Java http://www.aliyun.com/zixun/aggregation/8048.html">Websites 2.4 版本更新日志: -增加了支持servlet spec 3.x 的注解.-增加了安全和身份验证功能,例如 WAR.-更新了documentation and javadocs 文件.以上这些更新的功能可以在安全和身份验证的例子中看到(ejw_simplelogin.war). Easy Java Websites(简称 EJW)是一个Web应用程

用AJAX开发智能Web应用程序之基础篇

一. 什么是AJAX? 这个名字代表了异步javascript+XMLHTTPRequest,并且意味着你可以在基于浏览器的javascript和服务器之间建立套接字通讯.其实AJAX并不是一种新技术,而是已经成功地用于现代浏览器中的若干成功技术的可能性组合.所有的AJAX应用程序实现了一种"丰富的"UI--这是通过javascript操作HTML文档对象模型并且经由XMLHttpRequest实现的精确定位的数据检索来实现的.典型的示例AJAX应用程序是Google Labs(htt

使用AJAX技术开发新一代Web应用程序(4)

ajax|web|程序 由于网络潜力的不可预测性,这种可察觉的错误来来去去,并且测试应用程序的响应性也可能变得更为困难.因此,网络潜力是真实世界应用程序具有可怜的交互性的最通常的原因.四.异步客户端 在实际中,我们必须尽量使UI响应独立于网络活动.幸好,一段固定时间的响应经常就足够了,只要它是及时的.让我们再次看一下实际中的问题.我的早上例程的主要任务之一是唤醒我的孩子们上学.我可以站在他们上面戳他们直到他们起床并穿上衣服,但这是一相当花费时间的方式,留下很长的一段时间我几乎无事可做(图8).

用AJAX开发智能Web应用程序之基础篇(1)

ajax|web|程序 一. 什么是AJAX? 这个名字代表了异步JavaScript+XMLHTTPRequest,并且意味着你可以在基于浏览器的JavaScript和服务器之间建立套接字通讯.其实AJAX并不是一种新技术,而是已经成功地用于现代浏览器中的若干成功技术的可能性组合. 所有的AJAX应用程序实现了一种"丰富的"UI--这是通过JavaScript操作HTML文档对象模型并且经由XMLHttpRequest实现的精确定位的数据检索来实现的.典型的示例AJAX应用程序是Go

使用JLCA将Java Web应用程序转换为ASP.NET

本文讨论: 资源定位 I/O 流 日志记录和集合 重构 本文使用了以下技术: ASP.NET.JLCA 和 C# 目录 关于 JLCA 定位资源 处理输入/输出 API 日志记录 集合 筛选器和 HTTP 处理程序 源树和命名约定 何时重构约定 目录布局和命名空间 属性 Pascal 大小写方法名称 总结 典型的软件开发周期遵循简单的模型:收集要求.设计应用程序.编写代码.测试软件和部署软件.但是,有时新的开发项目是基于客户想用来部署应用程序的平台而启动的.在这种情况下,可以将现有应用程序的基本

Java 开发 2.0: 使用 Google App Engine--利用 Groovy、Eclipse 和 JDO 进行快速 Web 应用程序开发

开源解决方案和外来基础设施改变了 Java 开发的特征,使您能够以更低的成本.更快的速度交付更好的软件.Andrew Glover 发明了 Java 开发 2.0 这一术语,使用它概括了所有这些现象体现出来的强大力量.他推出了一个全新的系列,主要介绍有关 Java 开发 2.0 的工具和技术.本系列的第一期文章将宣布 Java 开发 2.0 的到来,并解释了如何使用 Google 的 App Engine for Java 迅速实现这些概念. Java 世界如同一个丰富的生态系统,涉及开发人员.