Web网站设计与开发教程(温浩宇)-第12章

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9 图12-3 各个层次的划分与所应用技术之间的关系图
10
由上述可知,在设计开发过程中主要有如下技术难点: (1) 对象与关系映射的设计。我们所采用的数据库是关 系型数据库(RDB),而用来开发系统的语言工具Java是一种面 向对象语言,两者看待数据的角度有很大差异。通过“对象/ 关系映射”(Object Relational Mapping,ORM)可以实现两 者的数据对接,因此系统实现中需要考虑如何采用ORM来实现 数据持久层。 (2) 基于MVC设计结构的设计。在学习了MVC设计结构的 基础知识之后,应考虑如何将MVC设计结构应用到具体的设计 中,设计过程中需要结合具体的情况进行考虑和分析。
网站代码的编辑和系统调试开发工具为MyEclipse,在 MyEclipse中配置集成Tomcat,使得对软件进行调试更为方便。 数据库则可使用MySQL或SQL SERVER。
3
12.1 需 求 分 析
12.1.1 网站基本功能描述 各类网站的设计中几乎都包含新闻发布的功能。通过这
一功能,网站的管理者可以方便地编排栏目和发布新闻信息, 而网站的浏览者则可以方便地查看各栏目中的相关新闻,有 些网站还提供了新闻评论的功能。本章所介绍的网站首页如 图12-1所示。
1 第12章 新闻发布网站的设计
12.1 需求分析 12.2 ORM技术应用 12.3 MVC框架模式应用 12.4 实现网页静态化 12.5 应用AJAX实现快捷交互 12.6 应用Servlet实现验证码
2
【学习提示】 本章通过对一个典型的新闻发布网站的设 计思路进行剖析,展示了在网站设计和开发过程中的共性方 法,着重分析了网站设计中的重点和难点,以便在实践中更 好地理解和学习网站设计开发的基本流程及主要技术。
16 图12-4 ORM在多层系统架构中的作用
17
从图中可以看出,ORM的实质在于:一方面将关系数据库 中的业务数据用对象的形式表示,并通过面向对象的方式将 这些对象组织起来,实现系统业务逻辑功能的过程,即实现 从关系模型到对象模型的映射;另一方面将业务逻辑中的业 务对象以某种方式存储到关系数据库中,完成对象数据存储 的过程,即要实现对象模型到关系模型的映射。这其中最重 要的概念就是映射(Mapping),通过这种映射可以将业务逻辑 对象与数据库分离开来,使管理信息系统开发人员既可利用 面向对象程序设计语言的简单易用性,又可利用关系数据库 的存储优势。
● 后台新闻维护。这部分功能是面向网站管理员的,管 理员登录验证之后可以编辑多个栏目版块新闻,可对新闻内 容实施增、删、改、查等操作。
6
12.1.2 总体设计 对于大型和复杂的网站系统设计工作,开发者通常会选
择三层体系结构作为系统的整体架构。三层体系结构包括表 现层、业务逻辑层和数据层。通常,业务逻辑层既要处理业 务逻辑,又要对关系数据库中的数据表进行CRUD(Create、 Read、Update、Delete)操作,这种方式会导致业务逻辑与关 系数据库的耦合性太强,降低了管理信息系统的灵活性和适 应性。为了降低这种耦合性,可以将数据的访问操作从业务 逻辑层中分离出来,单独作为一个数据持久层,如图12-2所 示。
在新闻网站系统设计中所采用的数据库是关系型数据库 (RDB),而用来开发系统的语言工具Java是一种面向对象语言, 两者看待数据的角度有很大差异。通过“对象/关系映射” 可以实现两者的数据对接。
15
ORM是一种数据持久层的技术,它实现了业务逻辑层中的 对象模型与数据层中的关系模型之间的透明转换,很好地解 决了它们之间的“阻抗不匹配”问题。图12-4显示了ORM在多 层系统架构中的作用。
12
(4) 基于AJAX的友好用户体验设计。用户体验已经成为 软件系统成败的非常重要的因素,AJAX技术可以帮助网站系 统提供友好的用户体验,降低网络带宽消耗,实现用户对数 据进行快捷、方便的操作。
在下面的内容中,将会对上述技术难点进行逐一分析并 深入探讨。
13
12.2 ORM技术应用
12.2.1 ORM技术简介 网站设计与开发项目就是一种软件工程项目,其开发过
程符合软件工程的一般原则和步骤。如何把复杂的系统逐步 分解,形成大量、简单的模块是很多软件工程方法的目标。 对数据的增、删、改、查操作是基于数据库的网站设计中最 基本、最通用的功能,把复杂的功能逐步分解为对数据的增、 删、改、查操作是网站系统需求分析和模块分解的过程中非 常重要的环节。
14
在面向关系的数据库中,描述事物关系的是表、记录、 字段;而在面向对象的程序设计中,描述事物的是类、对象、 属性。面向对象通过对现实事物进行抽象,用软件工程化的 方法进行描述;而关系数据库则是建立在严格的数学理论上 对事物的关系进行描述的。在描述事物同一级别上(如表对应 类和记录对应对象),两者有所联系却又不能完全等同,这就 构成了所谓的“阻抗不匹配”问题。
7 图12-2 系统开发中的多层体系结构
8
虽然本章所讨论的新闻网站的设计案例只给出基本的功 能,但作为网站开发实践的案例,系统也采用了上述的多层 体系结构。
在使用多层体系结构的前提下,网站的具体设计中使用 了如下技术:运用ORM技术对后台的数据库操作进行封装;使 用MVC设计结构对网站各模块进行划分;为了提高网站的安全 性能与用户体验,还进行了网页静态化以及基于AJAX的设计。 系统中各个层次的划分与所应用技术之间的关系大致如图123所示。
4 图12-1 新闻网站主界面
ຫໍສະໝຸດ Baidu 5
根据网站的规模不同,不同的信息发布网站的功能也有 很大差异,但都包括如下最基本的功能:
● 前台信息浏览。这是系统面向广大用户最核心的功能, 用户可以浏览到自己感兴趣的信息。前台的网页设计包括首 页面展示、栏目页面展示和信息的详细展示,显然这些页面 都应当是由JSP动态生成的。
11
(3) 动态网页静态化的设计。新闻网站中每一条新闻内 容的网页都是由JSP程序动态生成的,而这些页面可能会被大 量的用户重复访问,如果每次访问都执行相应的程序来生成 HTML页面,那就会消耗大量的系统资源、降低系统效率。但 如果所有的新闻内容页面都由网页设计人员手工排版完成, 也是不符合软件工程的原则,是不可行的。系统需要提供动 态网页静态化的功能,将每个新闻页面一次性自动生成为静 态的HTML文件提供用户访问,从而提高系统的执行效率。
相关文档
最新文档