新型动态网站模型研究

时间:2022-08-27 10:22:24

【前言】新型动态网站模型研究由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(Faculty of Information Engineering, China University of Geosciences,Wuhan 430074, China) Abstract: According to the requirements of internet users to the dynamic content and structure, based on the characteristics of an asynchronous request and re...

新型动态网站模型研究

摘要:针对网络用户对网站内容和结构的动态性的需求,基于AJAX技术异步请求与响应的特性,利用MVC设计模式,在.NET平台中建立了一个动态网站模型。动态网站模型设计了灵活的版块和模板,不仅具有传统动态网页信息及时更新的特点,还增加了内容和页面布局的动态调整,可用于建设内容丰富、关注焦点需动态变化的网站。网站具有很强的扩展性和高效的灵活性。

关键词:AJAX;MVC;动态网页;网站开发;网页模板

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)07-1639-02

Study for the Model of New Dynamic Website

WANG Jin-yu,LIU Yong,YE Li-wei

(Faculty of Information Engineering, China University of Geosciences,Wuhan 430074, China)

Abstract: According to the requirements of internet users to the dynamic content and structure, based on the characteristics of an asynchronous request and response of AJAX and MVC design pattern, the page built a dynamic website model. This model designed flexible piece and templates, not only could update the information immediately like traditional dynamic sites, but also added the dynamic updating content and layout of pages, it could be used to build some dynamic website with rich content and dynamic focus. The website is highly scalable and efficient flexibility.

Key words: AJAX; MVC; dynamic website; web development; page template

随着WEB技术的迅速发展和人们生活质量的提高,网站已经成为人们日常生活不可缺少的因素,这不仅体现在网站是大量的多领域的信息来源,也体现在网站为其用户提供了很多实用服务,如网上购物、地图服务、天气预报以及电子图书馆等等。无论是信息类网站,还是应用类网站,早已采用了最新的动态网页技术来设计,动态网页能够依据不同的情况做出动态的响应[1],因此可以提供更好的用户体验,如信息的及时更新、内容的不断更换和风格的自由选择等等,然而这些动态变化不能由网站的开发人员来完成,因为大多数网站都不可能配备一个专业的开发团队长期维护。普通的信息上传功能相对简单,难点在于网站内容的更换和网页布局甚至页面整体框架的修改,后两项功能的实现可以让一个网站在管理员的操作下完成根本的改变,包括网站中的全部因素。AJAX技术以其异步请求的特性被广泛应用于动态网站的开发,文章通过介绍AJAX技术和动态网页的发展,运用开发技术,以GIS时代网站(GISERA)为例介绍一种基于AJAX技术的动态网站模型的设计思路和实现过程。

1 AJAX技术简单介绍

AJAX最早被认为是“Asynchronous JavaScript And XML”(异步JavaScript和XML)的简称,一种创建交互式网页应用的网页开发技术,但是随着人们认识的加深和技术的发展,将其他技术也涵盖在内,严格来说,AJAX不是一项技术,它实际上是几种技术的集合,合在一起就成了一项功能强大的新技术。这些技术包括:XHTML、CSS、DOM、XML和XSLT、XMLHttpRequest以及JavaScript等[2],AJAX技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。AJAX以一种崭新的方式来使用这些技术,使得古老的B/S方式的Web开发焕发了新的活力。Google、Microsoft、Amazon和Yahoo等都已经全面采用AJAX,新一代的网站迅速兴起。

2 新型动态网站模型设计

基于AJAX技术的异步求特性,客户端可以同时向服务器发送多个请求,因此,我们将客户端页面分成多个独立的部分,在页面加载的时候,这些独立的部分通过AJAX向服务器请求信息。我们称这些独立的部分为版块。客户端请求页面时,实现按版块加载的方式,每个版块之间相互独立,即使某个板块加载失败,也不会影响其余版块的加载,每个版块的显示内容和显示样式由该板块的模板决定。为了实现网页结构的内容的动态性,在网站的后台管理中设计这样的功能:添加、修改和删除版块,添加、修改和删除模板,利用这些功能,网站管理员可以根据需要灵活的修改网站。

2.1 基于AJAX技术的动态管理

分布在站点上的多个相对独立的版块在加载的过程中需要异步独立加载,即各个版块在后台加载,且相互之间不收影响,这就需要利用AJAX技术的异步请求,在页面框架加载完成后再向服务器发送一系列的异步请求,具体的设计思路如下:

版块分布在网页的框架中,每个版块对应一个DIV控件,后台管理系统提供页面框架的可视化管理,管理员可以添加新版块,删除现有版块,移动现有版块,或者修改现有版块的属性,每个版块都有一个唯一标识,具体到页面上就是DIV控件的ID属性,同时也是AJAX请求的唯一标识,每个版块都有自己的模板。模板控制着版块的显示样式,如标题位置、图片大小、列表数目等信息,模板可以限制为某一栏目专用,也可为所有栏目通用。模板有很多类别,如标题列表、图片列表、图片滚动、图片翻转、静态信息、在线调查、浮动广告、导航信息等等。

模板代码中既有HTML代码,又有Page_String数据表中存储的可替换模板字符串,服务器端在生成版块内容时,根据Page_Div中保存的信息,读取相应数据表(Articles/Jobs/Resumes......)的信息,将HTML代码中嵌入的模板字符串替换为实际的信息,不同类型的模板读取不同的信息,个别的模板不需要读取这些信息,只需将HTML代码原样输出即可,下面看一个模板代码的示例:

HtmlCode:

$Title$

$List$

ListCode:

$ListTitle$

这是一个最普通的模板,“$Title$”模样的字符串就是前面提到的模板字符串,“$Title$”表示板块的小标题,“$ List $”表示一定数量的新闻标题链接,“$ListTitle$“则表示其中的一个新闻标题链接;服务器在处理这个模板时,将“$Title$”替换为Page_Div中保存的标题链接,如:最新资讯;将“$List$”替换为一定数量(保存在Page_Div中)的ListCode,当然,首先要将ListCode中的“$ListTitle$”替换具体新闻的标题链接。这样一个版块就生成了。

页面加载分为两个过程,第一,客户端通过URL发出请求,服务器接收请求后返回页面基本信息和页面框架(包含各版块对应DIV控件的ID序列);第二,针对各版块再次发送请求,这些请求必须使用AJAX来完成,做到多版块同时请求且互不干扰的效果,服务器响应每个版块的请求,返回包含具体信息的HTML代码并显示到页面上,这样便完成了整个页面的加载。整个加载流程可参照图1。

2.2 网站体系结构设计

根据用户需求和现有条件,网站选用 + C# + SQL Server 的.NET开发环境,采用MVC设计模式搭建工程开发,图2是网站体系结构图。

从图4可以清晰的看出MVC设计模式的思路(虚线框),这种分层结构具有的优点是结构清晰,耦合度低,便于分工协作。另外,这种设计思路还有一个优点,就是图中灰色部分OracleDAL,在现有的系统中是不存在的,只有当系统需要更换数据库服务器时,例如将SQL Server数据库更换成Oracle数据库,开发人员只需编写一个OracleDAL来访问Oracle数据库,替换原有的SQLServerDAL,在简单修改配置文件即可,减少了大量的代码重写工作。

3 小结

文章通过对网站建设的社会需求和动态网页发展过程的分析,基于AJAX技术的异步请求与响应特性,提出了实现网页内容和布局动态化的网站建设模型,设计了具有高灵活性的版块和模板,通过版块和模板的管理,实现了网页内容和布局的快速更换。网站开发过程采用MVC设计模式,体系结构清晰、耦合度低、便于扩展。然而本网站模型的应用实例刚刚投入使用,网站各方面的功能和性能还需进一步验证。

参考文献:

[1] 赵阳.基于模板库的动态网页的设计研究及实现[J].现代电子技术,2008,20(283):116-118,121.

[2] 严杰.浅析浏览器端开发技术Ajax[J].浙江旅游职业学院学报,2007,3(2):40-44.

[3] 游丽贞.Ajax引擎的原理和应用[J].微计算机信息,2006(22):2-3.

[4] 高源晴等.基于MVC设计模式的项目管理的研究与应用[J].计算机应用研究,2006,7:159-164.

[5] 史胜辉.AJAX技术在Web客户端开发中的应用[J].中国管理信息化,2006,19(6):88-90.

[6] 宫丽宁.冷静分析、正确使用AJAX技术[J].电脑知识与技术,2009,6(16):4184-4185.

[7] 杨志波.基于Ajax技术的WebGIS技术及研究[D].北京:中国科学院,2006.

[8] 赵晓峰.利用AJAX构建动态Web的应用[J].深圳信息职业技术学院学报,2006,4(1):26-30.

上一篇:PAR在数学算法中的应用 下一篇:基于平衡计分卡的IT治理模型研究