《毕业设计(论文)XML在网站构建中的应用收藏夹与留言薄的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)XML在网站构建中的应用收藏夹与留言薄的实现.doc(32页珍藏版)》请在三一办公上搜索。
1、 XML在网站构建中的应用-收藏夹与留言薄的实现摘要通过对一般网站中的个别功能模块的研究,整体介绍XML的来源、发展及其主要特性,以及客户端/服务器模式、浏览器/服务器模式的体系结构,重点讨论了利用ASP+XML开发一般网站的个别功能模块设计和实现过程。前三个模块主要为用户提供了新闻阅读,网址收藏,留言簿的服务。后两个模块属于管理模块,主要对用户提交的信息进行添加删除等操作。本次设计把XML文档看作后台数据库,使用XML DOM对XML数据进行操作,比如从XML中获取数据,对XML中的数据进行更新等。通过对XML和ASP的学习和研究,本设计主要实现收藏夹、留言簿功能模块的设计,更好地加深了对X
2、ML的理解。【关键词】可扩展标记语言 标准通用标记语言 客户端/服务器 浏览器/服务器 ASP XML DOM目 录第一章引言1第二章XML简介22.1 什么是XML22.2XML的优点22.2.1 实现不同数据源之间的数据交换32.2.2 一种文件多种显示32.2.3 结构化的数据32.2.4 数据集成32.3XML语法42.3.1 XML文档的逻辑结构42.3.2 XML的物理结构52.3.3文档声明类型52.4 SCHEMA62.5 XSL7第三章 ASP与XML的结合73.1 什么是ASP83.2 XML+ASP网站应用结构83.2.1 XML+ASP的三层结构83.2.2 数据传输的
3、方式93.3 为何要结合XML与ASP9第四章 ASP+XML的程序开发实现104.1 我的网址收藏夹104.1.1 收藏夹文档结构图124.1.2 添加分类134.1.3 添加条目154.1.4 修改操作164.2 留言簿174.2.1 功能结构图234.2.2 后台文档244.2.3 前台页面流程26结论28谢辞29参考文献30第一章引言当今科学技术的发展日新月异,计算机网络早已进入了千家万户。从百姓到政府,中央到地方,从学校到企业,从办公到娱乐,人们已经无法离开计算机网络。这种新型的技术正越来越广、越来越深地影响到人们的生产和生活。然而,就在计算机网络技术已经相对成熟的今天,依然存在着这
4、样那样的网络安全和稳定因素。这就要求我们不断地进行技术的革新和完善,达到更加完美的境地。计算机网络是当今计算机科学与工程中迅速发展的新兴技术之一,也是计算机应用中一个空前活跃的领域。计算机网络是计算机技术与通讯技术相互渗透、密切结合而形成的一门交叉学科。期间出现的XML逐渐成了这个领域中的闪亮角色。XML,作为下一代的主要的网络开发语言和通用的应用程序开发标准,它将改变我们同数据打交道的方式。XML功能强大的原因是任何类型的数据,甚至抽象的数据概念,都可以赋予格式和结构。给定数据的概念,例如客户和存货目录,就通过描述这些元素以及元素之间的关系,对这些数据进行排列。你可以规定相应的结构,用来描述
5、客户相关的信息,包括客户名,账号和地址,而不是定义一个单个的客户。一旦你已经创建了结构,你就可以把数据组织在一起,形成文档,并可以向全世界发布。本次毕业设计的最后将通过对网站中几个功能模块的实现如收藏夹、留言簿、好友录等来展示XML在网站构建中的应用。第二章XML简介2.1 什么是XMLXML 就是eXtensible Markup Language,可扩展标记语言。这是一种由W3C所推荐的标准,也是目前互联网中最炙手可热的信息技术。XML的前身是SGML(Standard Generalized Markup Language,标准通用标记语言),这是一种用来描述电子文件结构与内容的标记语言
6、,由于它有着复杂性高及费用昂贵的缺点,因此便有了将其简化的想法,而SGML简化之后的结果便是XML。虽然XML和HTML(Hyper Text Markup Language,超文本标记语言)均源于SGML,但XML属于一种元语言,它不仅可以像HTML一样在Web上提供服务、接收及处理数据等工作,还可以用来定义任何一种新的标记语言。XML为继承了SGML的优点且补充HTML的不足。XML与SGML、HTML的关系,如图 1.1所示:SGML XML HTML 图2.1 XML与SGML、HTML的关系2.2XML的优点XML最明显的优点在于它可以创建标记和文法结构。正是这种优点使得用户能够根据
7、自己的特殊需要制定出适应于自身的一套标记和文法结构,以便结构化的描述自己领域内的信息,从而提供一种处理数据的最佳机制。因为无论是在数据存储方面还是在数据的传输和处理方面,都是XML这种标记语言的强项。2.2.1 实现不同数据源之间的数据交换XML的跨平台特性在于它提供了一种不同的数据源之间进行数据交换的公共标准,是一种公共的交互平台。就好象两个不同的民族都说同一种语言而具有共同交流的机会一样,一种数据源只要将它的数据表示成XML格式就能被另一种数据源有效的识别。如下图:DS1XML文件DS2图2.2XML与数据源之间的关系2.2.2 一种文件多种显示XML是表示存储并用来传输数据的标记语言,但
8、XML文档并不决定数据的显示样式。这样,XML将信息的数据部分和信息的样式显示部分进行了区分,这样我们就可以给同一份数据添加多种样式,从而得到多种显示效果。2.2.3 结构化的数据XML对于大型和复杂的文档是理想的,因为数据是结构化的。这不仅使用户可以指定一个定义了文档中的元素的词汇表,而且还可以指定元素之间的关系。例如,如果要将销售客户的地址一起放在Web页面上,这就需要有每个客户的电话号码和电子邮件地址。XML对此提供了很好的支持。2.2.4 数据集成XML也提供客户端的包括机制,可以根据多种来源集成数据并将其作为一个文档来显示。数据还可以马上进行重新排列。数据的各个部分可以根据用户的操作
9、显示或隐藏。当处理大型的信息仓库,比如关系型数据库时是极为有用的。2.3XML语法XML最明显的优点在于它可以创建标记和文法结构,不用像HTML那样只有固定的格式。正是这种优点使得用户能够根据自己的特殊需要制定出适应于自身的一套标记和文法结构,以便结构化的描述自己领域内的信息,从而提供一种处理数据的最佳机制。下面将从XML文档的逻辑结构和物理结构进行简单的介绍。2.3.1 XML文档的逻辑结构从逻辑上而言,每一个文档都由声明、元素、注释、字符引用和处理指令组成,所有这些都在文档中用显式标记指明。声明每一个XML文档应该由一个XML声明开始,并且它必须位于该文档的开头。 version表明版本信
10、息,encoding表明所用的文字编码。元素使用一对尖括号界定标记以小于号“”开始,大于号“”结束。XML中的元素名并非固定不变,而是由用户自己命名,但必须遵循下列规则:(1)名字必须以字母或下划线开头,其后可以使用任意字符。例:1stt ,name为非法字符。(2)必须区分大小写。例:Name与name实际为两个不同的元素名。属性在元素起始标签或空元素标签中加入元素的相应属性。例:巴西应注意的几个问题:(1)标记中可以包含任意多个属性,但属性名不能重复;(2)属性名与属性值之间用等号“=”分隔,且属值用引号引起来;(3)属性名同样对大小写敏感;(4)属性只能使用在起始标签和空元素标签中。注释
11、用来对文档进行解释性的说明,基本格式如下:字符引用字符引用是指解析文档时会被字符数据取代的特殊标记。例:";留言簿";解析后即为:“留言簿”。处理指令处理指令即在XML文档中包含的允许应用程序进行处理的部分,其用法为:,XML声明就是一个处理指令。2.3.2 XML的物理结构从物理上而言,XML文档是由一个或多个存储单元构成的,这些存储单元被称为实体。通俗的说,实体充当着和别名类似的角色,即一个简单的实体名称可以用来代表一大段文本内容。像任何计算机别名系统一样,实体引用简化了录入工作,因为每当要使用同样一大段文本内容时,只需引用它对应的实体名就可以了,解析器会自动把它对应的实体
12、名称替换为相应的文本。所有的XML都包含且仅包含一个“根实体”,该实体是解析器处理的起点。XML文档的逻辑结构和物理结构是从不同的角度来看待XML文档。规范的XML文档包含以下两层含义:1)格式良好的要求w元素构成层次树性结构,有且仅有一个根节点;w语法符合XML1.0规范2)有效性规定XML文档的“有效性”是指一个XML文档应当遵守DTD或Schema的规定,有效的XML文档肯定是格式良好的XML文档。反过来,一个格式良好的XML文档不一定是有效的XML文档。有效的XML文档与格式良好的XML文档的区别在于:格式良好的XML文档遵守XML标准定义的规则,而有效的XML文档除此之外,还遵守DT
13、D或Schema定义的规则。2.3.3文档声明类型DTD由一系列声明了特写的元素、实体和属性的标记声明所组成。我们看下面这个例子。!DOCTYPE GREETING DTD以 结束, 单个行 (正如XML中的大多数对象一样是区分大小写的)是一项元素类型声明。在本例中,声明的元素名称是GREETING。它是唯一的元素。这一元素可以包含可析的字符数据(或#PCDATA )。2.4 SCHEMA随着XML的深入使用,DTD的一些缺点暴露出来,于是1998年1月由微软公司推出并提交了W3C的Schema的第一个方案-XML-Data,此后又推出了其他方案:像DCD,SOX,DDXL,XML Schem
14、a.XML Schema是一种描述信息结构的模式,在XML Schema中所描述的是引用它的XML文档中的元素和属性的具体类型。较之DTD,它有以下优点:l XML文档本身就是一个XML文档,所以无需再学新的语法,而DTD有不同于 XML的语法。l 一个XML文档可以有多个对应的Schema,而一个XML文件只能有一个对应的DTD。l XML Schema支持丰富的数据类型,而DTD中规定的文档内容都是字符数据,不提供整型,数据型等数据类型,并且XML Schema可由用户自定义数据类型。XML Schema定义了两种主要的数据类型:预定义简单类型和复杂类型。这两种数据类型之间的主要区别是复杂
15、类型可以象数据一样包含其他元素而简单类型则只能包含数据。简单类型给予了XML Schema低级类型检查能力。下表是其定义的数据类型:string字符串数据boolean二元类型的True或者Falsedate历法日期,格式是CCYY-MM-DD。dateTime历法日期和时间。time24小时格式的时间可根据时区调节decimal任意精度和位数的十进制数integer整数float标准的32位浮点数表2.1XML Schema定义的数据类型2.5 XSLXSL(eXtensible Stylesheet Language,可扩展样式语言)是为XML文件定义的一种标识语言,它将提供远远超过CSS
16、的强大功能,如将元素再排序等。实际上简单的XML已可被CSS所解释,然而复杂的高度结构化的XML数据或XML文档则只能依赖于XSL极强的格式化的能力而现给用户。 XSL以包含了一套元素集的XML语法规范而定义,该语法规范将被用来把XML文件转换成HTML文件或XML文档。一个XSL样式表集合了一系列设计规则以用于将信息从XML文件中汲取出,并将其转换成HTML等其它格式。这种转换将采用一种公开的方式,使其更加容易方便地被程序员描述。而且XSL还将提供多种脚本语言的通道以满足更为复杂的应用需求,因此尽管XSL是一项新的标识语言,但程序员完全可以继续充分发挥其所熟练的HTML或脚本语言的优势。XS
17、L凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给Web提供了高级的布局特性。例如旋转的文本、多列和独立区域。它支持国际书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式。如图: XML文档XML、WML、HTML或其他文档XSL解析器XSLT处理和转化图2.3XSL、XML、XSLT之间的关系第三章 ASP与XML的结合XML是一个被广泛采用与运用的标准,可以跨越平台障碍、存取各种格式的数据,而且是唯一真正可以做到独立、跨越平台的数据交换标准,并已经几乎被所有在计算机领域中鼎鼎有名的公司所支持,但是到底要如何在网络应用程序中应用XML呢?这就要
18、结合XML和ASP啦。3.1 什么是ASP ASP是Active Server Pages的英文缩写,是微软为了推广网络应用程序开发及数据库连接而推出的一项技术。这项技术最早在IIS(Internet Information Server)3.0上开始使用。由于Windows NT、IIS的日益普及,ASP也凭借其简单而功能强大的特点逐渐成为重要的Web应用开发技术。ASP是一种服务器端命令执行环境,可以让您用来创建动态网页或建立功能强大的Web应用程序,它具有以下特点:l ASP网页是包含HTML标记、文字和命令的文件;l ASP网页可以调用ActiveX控件执行工作,例如连接到数据库或执行
19、商业计算;l ASP程序没有浏览器兼容的问题;l ASP的程序代码是隐藏的,客户端仅能看到由ASP所输出的动态HTML文件。3.2 XML+ASP网站应用结构要知道ASP是如何与XML结合的,并实现应用程序功能的话,就必须先知道XML与ASP的网站应用结构。XML+ASP的三层数据传输格式如图3.1组成纯HTML格式浏览器ASP程序XML原始数据表示层企业规则逻辑层数据库客户机Web服务器数据库服务器DOM图3.1XML+ASP的三层数据传输格式3.2.1 XML+ASP的三层结构三层客户机/服务器结构主要分为展示层、企业规则逻辑层及数据层。此三层分别由浏览器、ASP程序及XML原始数据所扮演
20、。1) 数据层由格式相关的XML数据组成,可用来做数据仓库与处理数据;主要是负责数据的完整性,及存储与取得所有公开的XML原始数据。2) 企业规则逻辑层由所有的ASP网页组成,用来提供基本的信息传递、发布客户机的要求,与后端的XML数据相配合(主要使用XML DOM对XML数据进行操作),并且将取得的XML数据应用于应用程序中的规则,产生客户机所要的各种结果,并将结果返回给客户机。3) 表示层是客户机的浏览器,主要是用来处理网页显示的方式。通过它可以让客户机与应用程序交互,并将逻辑层输出的数据显示出来。3.2.2 数据传输的方式第一步: 客户机通过浏览器提交请求到逻辑层的ASP网页。第二步:
21、请求通过逻辑层处理后传给数据层的数据库服务器。第三步: 数据库在收到由逻辑层传来的请求后,对请求发出应答;并将应答返回到逻辑层。此处所指的应答指的是相对应的XML数据。第四步: 逻辑层应用程序的规则处理来自数据层的XML数据,以产生客户机所要的结果,并将结果传送到客户机的浏览器。此处所指的“结果”可能是XML文件,可能是转成HTML文件的XML数据,主要是根据客户机的要求而有所不同。第五步: 浏览器在收到结果后,将结果显示出来。 3.3 为何要结合XML与ASPXML的数据结构的确可以让客户机根据不同的方式检查数据,按不同的法则排序,或浏览时固定显示某些信息让文件使用更有效率;如单击某个程序软
22、件的链接,编制显示出符合该客户机视窗版本的信息。但要是没有ASP程序来与客户机交互,使得客户机得以通过它来提出要求,那么XML终究只是静态的文件数据。因此,XML与ASP搭配确实是互相贡献所长的结合方式。第四章 ASP+XML的程序开发实现4.1 我的网址收藏夹下面的图4.1是收藏夹的主界面。其中显示了网站的分类、网站标题、网站链接以及对某个链接进行的简易操作。最上端是进行添加条目和分类的操作。具体的条目集中放在上面,而分类的条目放在下面。要强调的一点是:在删除分类的时候,必须保证具体条目中没有占用分类的项,否则将不能对条目进行删除。图4.1收藏夹的主界面相关代码: main 收藏分类 标题
23、链接 可用操作 4.1.1 收藏夹文档结构图添加分类首 页 显 示 收 藏 内 容添加条目个人网站门户网站搜索引擎体育新闻网易新浪百度张建宁的主页其它分类分类汇总标题链接地址分 类编 辑删 除已添加分类、条目图4.2收藏夹文档结构图4.1.2 添加分类要加入一个网站,要首先将此网站进行分类,比如:是属于个人的还是搜索还是门户网站或者是其它的类别。这些都可根据用户的爱好来进行起名。点击右上端的“添加分类”,会出现如图4.3所示对话框,点击“提交”可以进行添加分类。图4.3添加收藏夹分类相关代码以下是在分类网页中用到的部分源代码: 收藏夹 - 分类 添加成功 返回首页 标题input type=t
24、ext name=caption value= input type=hidden name=id value= 版权所有:青岛大学信息工程学院 张建宁&张宪超 4.1.3 添加条目对于具体的网站可按其功能分类加入到具体的条目里头。这其中有网站的标题、链接等内容。具体方法是:点击右上端的“添加条目”按钮,出现如图4.4的对话框,输出完成各项内容后点击“提交”按钮即可完成请示,点击“重置”可以重新输入。图4.4添加收藏夹条目相关代码这部分的核心代码是分类的选择框,其源代码是: option value= 其他部分代码参照4.1.2中描述的。4.1.4 修改操作不管是分类还是条目里面都有相
25、关的简易操作:修改和删除。点击delete进行删除;点击edit进行编辑。如果是对所选项进行编辑,进入的是类似添加页面的界面。删除的源代码是: 删除成功 返回首页4.2 留言簿用户进入留言簿,首先进入查看留言页面(图4.5)。在这里可以看到所有人的留言,以及留言者的基本情况,如姓名、邮箱、QQ、E-mail、主页等。若留言人把他的邮箱或是主页等写在了留言板中,这两项内容能自动变成链接,使浏览者能轻易地给留言者写邮件或是查看其主页。除了能看到留言,还能看到别人上传的图片,此图片可以来自一个网站,也可以从本机电脑中选取。此外,调用了Session功能,可以发表或查看别人留言的一些表情。图4.5查看
26、留言页面留言簿分为两大功能模块:查看留言和签写留言。在这个板块可以查看所有的留言,并进行回复。如果要针对某个特殊的留言进行回复1) 写新留言l 首页进入留言簿首页,即可看到最近的5条留言。每次留言将显示留言者的个人信息及留言内容,方便留言者之间互相交流。若留言超过5条,系统会自动进行分页。用户可通过点击“上一页”或“下一页”浏览其它留言,如图4.6。图4.6翻看留言l 写新留言用户进入该页面时,系统根据其注册信息自动将用户名从XML文件中取出加入到姓名栏中,并默认来自地址为“中国”。(图4.7) 在这里可以留言。其中留言者的姓名和内容是必须要输入的两项。其它包括留言者的基本情况,如姓名、邮箱、
27、QQ、E-mail、主页等。若留言人把他的邮箱或是主页等写在了留言板中,这两项内容能自动变成链接,使浏览者能轻易地给留言者写邮件或是查看其主页。除了留言,还能上传图片,此图片可以来自一个网站,也可以从本机电脑中选取。此外,用了现成的Session功能,可以选择自己喜欢的字体、格式以及一些简单的表情。也可以插入Flash、MP3、小的视频片段等内容。按“重填”按钮可以重新写入,若没有任何问题,点击“提交”进行留言。图4.7写新留言2) 删除留言l 管理员登录针对不良留言,管理员有权对其进行删除。这个权限只有管理员才拥有。首先要登录管理员进行身份验证,系统从XML文件中取出管理员名与密码进行核对,
28、身份正确即可进行留言的删除工作。(图4.8) 按“重填”按钮可以重新写入,若没有任何问题,点击“提交”进行登录。注:在登录之前,浏览页面中的“回复”和“删除”按钮是不能用的。普通用户只能留自己的言,针对某个具体的留言进行回复只有管理员才能做到,同理进行删除。若登录成功,页面中的“回复”和“删除”按钮变成可用状态,即可根据需要进行操作。图4.8管理员登录l 删除留言进入删除留言页面,将会显示所有留言的ID号、留言者姓名、发表时间,在复选框选择待删除的留言,点击删除执行相应留言的删除操作,并保存到后台XML数据库。(图4.9)点击“删除”,会弹出是否确定删除的对话框进行询问,当点击“确定”后,系统
29、便对当前的留言进行删除,并自动刷新页面到删除后的界面。图4.9删除留言删除后点击下方的“返回首页”便回到留言簿的首页,可以继续浏览或写新留言。3) 管理员回复留言l 管理员登录针对个别有特殊意义的留言,管理员可以在其上进行直接回复。只有管理员才有权在别人留言的位置上进行回复。点击进入时首先要进行身份验证,系统从XML文件中取出管理员名与密码进行核对,身份正确即可进行留言的回复工作。(图4.10)在“回复”页面的上方有留言的内容以便做参照,在下面的框中进行留言回复,回复结束按“提交”按钮即可。图4.10管理员回复留言4.2.1 功能结构图图4.11留言簿功能结构图4.2.2 后台文档后台由三个X
30、ML文档组成,根据系统需要设计后台数据库XML文件如下:1) 管理员表(Admin.xml) 管理员只有一位,具有系统的所有权限。w 管理员名(name)w 管理员密码(password)每个XML文档都可看成一棵结构树,下面给出了每个XML的树形结构。Adminnamepassword图4.12 XML文档的树形结构图Admin.xml文件的DTD:!DOCTYPE admin 2) 用户表(Userlist.xml)用户登陆时留下的注册信息,方便下次登陆时不必注册。w 用户名(name)w 用户注册密码(password)usersusernamepassword图4.13 Userlist.xml的结构图Userlist.xml文件的DTD:!DOCTYPE users 3) 留言表(List.xml)记每个用户的留言信息。w 用户号(id)w 用户名(username)w 来自哪(fromwhere)w 留言时间(Posttime)w 主页(homepage)w 信箱(email)w 留言内容(text)sitenewlistlistidusernamefromwherePosttimehomepageemailtext图4.14 list.xml的结构图 List.xml文件的DTD:!DOCTYPE site !ELEMENT