- 系统概述
- 系统简介
本网站主要采用ASP脚本编写,服务器端脚本用VBScript来编写,客户端用Jscript来编写,数据库使用Microsoft的SQL Server2000数据库,服务器是IIS 5.0。
“网上图书销售系统”用Client/Serve模式结构设计整个系统的构架,无论在哪里都可以登录本网站进行图书的检索在线订购。而且用ASP脚本编写的页面极大的保证了信息的安全传输。在数据库选择上我们采用易于实现的Microsoft的SQL Server2000作为后台数据库。
其主要功能有图书的在线销售、客户的管理、图书的在线管理。
-
- 系统开发的背景
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面做出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪、分析、发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动链接页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户做出任何额外工作的情况下实现了为用户量身订做的个性化页面。
要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Microsoft的SQL Server2000数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用Dreamweaver MX开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。
本文作者主要完成Web服务器端的用户管理、图书目录管理、图书信息录入管理、书店定单管理、图书的浏览和查找、书店购物结账功能模块的设计、实现与完善以及整个实验网站的组织建立和测试工作。
我国目前的网上销售仍处于发展阶段,商品的品种和质量、网上销售企业的管理水平和经营方式与发达国家相比都有很大差距。同时,我国经济正处于由计划经济体制向市场经济体制过渡时期,Internet对我国信息产业的影响才刚刚开始,网上购物在我国还要有一个调整、磨合、适应的过程,网上购物的安全问题还未完全解决,大多数人对网上购物的程序还有待于了解,还得有一个发展的过程,但是网络确实已逐步走进我们的生活,并开始影响我们的生活。因此,分析总结其它购书包括购物网站的发展特点,借鉴其先进经验,对于促进我国网上销售业的发展具有重要的现实意义。
在商业经营管理中大量应用现代科技,是企业的竞争优势,也是流通产业现代化的必然之路。发达国家的商业是新技术产品化应用最广阔的市场,不仅提高了商业企业的管理水平,而且适应激烈竞争的快节奏,加快了资金、商品库存周转,也是组织大生产、大流通低成本高效益的需要。
网上销售已不再是邮寄的简单交易行为,它已跻身于网络营销的第一线,成为社会经济运行中的重要成员。网上销售业的经济活动对人民生活、社会生产都有重要影响作用。
-
- 本课题研究的意义
随着时代的发展,环境与工业的冲突已日益矛盾,尤其是造纸业的发展对我们日益生存的环境造成了严重的破坏,可持续发展已成为我们研究和争论的主题。面对科技日益进步而环境污染日益严重的今天我们能为此做些什么呢?
目前大多数的国家也已经进入了电子信息时代,人们可以更加方便的利用这些现代化的设备来满足自己的各种需求,同时由于科学的进步也使各大企业之间得到了许多便利。这些标志着中国电子商务已经由表及里,从宣传推广阶段进入到了务实的实施阶段。这里所说的“电子商务”是指人们利用电子化手段进行以商品交换为中心的各种商务活动。“网上图书销售系统”其实就是电子商务的B2C形式。
网上图书销售系统标志着信息的多元化。长期以来,我们对于图书销售都是以店面为主要的经营方式,而这种以店面为主的经营方法不仅不便于管理,还浪费了大量的人力物力,不能带来好的经济效益。针对图书管理的弊端,根据图书销售的基本流程,实现图书管理的电子化,减轻管理人员的负担。借助计算机,管理人员能够很好的对现有图书进行管理(包括图书的分类、添加、删除等)。同时也为广大群众提供了方便。人们现在可以足不出户就可以买到自己想要的书。这样,既简便又快捷。
-
- 准备知识
做任何一个工程或项目之前都要有一个知识积累和系统学习的过程,在这个过程中我们可以学习和本系统有关的知识,查找相关的资料以确保所开发的系统在性能上和功能上均满足客户的需求,而且所开发的软件的结构也符合国家计算机软件工程规范。
由于本系统网站采用ASP脚本编写,数据库使用Microsoft的SQLServer2000数据库。因此对ASP和SQL 语言要有一定的认识,对网页制作和数据库的应用开发要有一定的学习。
-
-
- ASP技术介绍
-
ASP 全称为 Active Server Pages(动态服务器主页),它是一种应用程序环境,可以利用 VBScript 或 Java Script 语言来设计,主要用于网络数据库的查询与管理。其工作原理是当浏览者发出浏览请求的时候,服务器会自动将 ASP 的程序码,解释为标准 HTML 格式的网页内容,再送到浏览者浏览器上显示出来。
利用 ASP 生成的网页,与HTML相比具有更大的灵活性。只要结构合理,一个 ASP 页面就可以取代成千上万个网页。尽管 ASP 在工作效率方面较之一些新技术要差,但胜在简单、直观、易学,是涉足网络编程的一条捷径。它具备一个服务器端的脚本执行环境,用它可产生和执行动态的、交互的、高性能的Web服务器应用程序。
ASP应用程序以.asp文件的形式存盘无需经过任何的编译,便能有浏览器查看,当然不能直接运行,只有在服务器执行后才能浏览。ASP程序的控制部分是使用VBScript、Jscript等脚本语言来设计,当执行ASP程序时脚本程序将一整套命令发送给脚本编辑器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编译语言一样,ASP程序的编写也遵循一定的规则,如果想使用自己所喜爱的脚本语言编写ASP程序,那么服务器上需要有能解释这种脚本语言的脚本解释器。当安装ASP时,系统提供了VBScript和Jscript两种脚本语言,而VBScript则被作为系统默认的脚本语言,也可根据自己的喜好改变系统默认的脚本语言。
Active Server的另一大优点是代码的安全性。页面的访问者所能看到的只是服务器方的处理结果。ASP文件可以用常规的文本编辑器编辑, ASP使用VBScript、JavaScript等脚本语言作为开发工具,镶嵌于HTML文本中,使用"<%…%>"将ASP的程序包含起来。当用户从浏览器向Web服务器提出请求时,Web服务器会自动将ASP的程序解释为标准的HTML格式的主页内容,用户端只要使用常规可执行HTML程序的浏览器,就可浏览ASP所设计的主页内容,因此与浏览器无关,并且保证了ASP的源程序代码不会外漏。
ASP中包括五个内置的ActiveX服务器组件和五个内置的对象:Database Access component(数据库访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Content Linking component(内容链接组件)、Browser Capabilities component(浏览器信组件)以及Request(请求对象)、Server(服务器对象)、Session(会话对象)、Response(响应对象)、Application(应用程序对象)。在所有ASP组件中,最有用的是数据库访问组件,也称为ActiveX数据对象或ADO。在站点发布数据库将使用这个组件及其中包含的对象,以完成对ODBC数据源的读写。
此外,ASP技术的另一个重要特点是,程序员可以利用Java、Visual Basic、 Visual C++等语言制作适应自己特殊需要的ActiveX服务器组件来扩充ASP的功能,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI程序所不及的。
总而言之ASP具有学习快、设计快的特点,不需花许多时间即可学会和快速设计出WEB应用程序。ASP的源程序码在服务器端执行,代码保密性好。集成在HTML中,无需编译链接可直接执行,而且使用文本编辑器即可设计。
在网站系统的开发应用中,Microsoft公司的ASP(Active Server Pages)被广为使用。ASP实际上是将标准的HTML文件拓展了一些附加特征,为编写人员提供了在服务器端运行脚本的环境,使编写人员可以利用VBScript和JavaScript或其他的第三方脚本语言来创建ASP,实现了过去需要编写复杂的CGI程序才能实现的有动态内容的网页,如计数器等。ASP提供了一些内置对象和组件,允许用户从浏览器中接收和发送信息。ASP可以和诸如SQL Server和Microsoft Access2000这样的数据库进行连接,进而完成数据的交换与更新。
- ASP的特点:
ASP可以和HTML或其它脚本语言(VBScript,JavaScript)相互嵌套。
ASP是一种在WEB服务器端运行的脚本语言,程序代码安全保密。
ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。
ASP内置ADO组件,因此可以轻松的存取各种数据库。
ASP可以将运行结果以HTML的格式传送至客户端浏览器,因而可以适用各种浏览器。
- ASP的运行环境
目前ASP可运行在三种环境下。
-
- WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。
- WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。
- WINDOWS 95/98运行PWS(Personal Web Server)。
- VBScript语言的介绍
VBScript听起来会让人想到Visual Basic,不错,它们的确是有关系的,具体地说VBScript是Visual Basic子集“VBA”(Visual Basic for Application)的子集,“VBA”是VBScript的父亲。VBA是Microsoft Office Suite和其它应用程序的宏编程语言,利用它可以扩展Office的功能,如在Word可以采用VBA来实现Word中没有的功能。在Web页面中增加VBScript可以实现很多功能,诸如在将数据发送到服务器之前先进行处理和效验,创建新的Web内容,甚至编写完全在客户端运行的应用程序,如计算器和游戏使用程序,扩展客户段的使用功能。引入脚本语言的最重要的一点是把开发者带回到了事件驱动的软件开发范围。不是依赖服务器通过HTTP提供应答,VBScript允许应用程序对用户的动作立即做出反应。虽然VBScript是用户系统的健壮的脚本语言,但VBScript是受限的,它不能处理客户机上API调用,不能操作客户机上的文件,也不能拥有文件系统之上的控件。另外,浏览器的安全机制不允许对没有安全标志的ActiveX运行脚本。
-
-
- ODBC简介
-
开放数据库连接(ODBC:Open DataBase Connection)是在不同的数据库管理系统上存取数据。例如,如果有一个可使用SQL语句存取数据库中记录的程序,此时ODBC可以让用户使用此程序直接存取SQL Server2000数据库中的数据。为此,必须为系统添加称为“驱动程序”的软件组件,ODBC会帮助用户添加并配置这些驱动程序。以下是使用ODBC存取数据库和传统数据库存取方式的差别分析:
- 对于传统的数据库存取,在开发时,需用各厂商所提供的应用程序来开发其系统。假如要更换数据库,开发人员需重新熟悉另外一套应用程序,造成开发人员的负担。
- ODBC为微软所定义的数据库编程接口,让应用程序可通过ODBC,利用SQL语言存取各种不同数据库的数据。
- 通过ODBC,即使更换了数据库,也只需做很小的改动,便可将程序应用于新的数据库。
-
- 利用ADO访问数据库
-
ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:
- 创建数据库源名(DSN)
- 创建数据库链接(Connection)
- 创建数据对象
- 操作数据库
- 关闭数据对象和链接
每一步的作法如下:
- 创建数据源名
DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有SQL Server2000的ODBC驱动程序,那么即使我们没有Microsoft的SQL Server2000软件,也可以在我们的程序中对一个SQL Server2000的数据库添加、删除、修改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。
- 创建数据库链接(Connection)
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
set Conn=Server.createObject(“ADOBD.CONNECTION”)
这条语句创建了链接对象Conn,接下来:
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"")
conn.Open connstr
这条语句打开链接,用到了DSN,本例为“olbs”。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
- 创建数据对象(Record Set)
ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:
Set Record Set=Conn.Execute(sqtStr)
这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:
rs=“SELECT * FROM shop_books”
Set Record Set=mConn.Execute(rs)
这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。
- 操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:
rs=“INSERT INTO tab1 VALUES(1,2)”
mConn.Execute(rs)
/执行插入操作
- 关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。
Record Set.close
Set Record Set=Nothing
/关闭创建的数据对象
mConn.close
Set mConn=Nothing
/关闭创建的链接对象
-
-
- SQL 语言简介
-
SQL Server2000是目前中小型企业应用最广的服务器,其数据库的核心SQL(结构化查询语言),SQL是Structure Query Language的缩写,它是一种标准的关系型数据库查询语言,通过SQL语句的执行可以对数据库内容(表及记录)进行定义、修改或查询。由于在许多的数据库管理系统(如Access,SQL等)以及数据库程序语言(如Visual Basic,Delphi等)内都会支持SQL语法,因此对SQL语法有基本的认识是非常重要的。
不过,必须注意的是并非每一个SQL语句在任何数据库软件中都可以运行。其实大部分的数据库软件都是属于部分支持SQL语言,而非完全支持,而且每个软件所支持的范围也不一定相同,因此在使用特殊的SQL语句前最好先确定数据库软件是否支持该SQL语句。
基本上SQL语言可分为两类,一类是与数据定义有关的称为DDL (Data Define Language)数据定义语言,另一类则是与表内的记录存取有关的称为DML(Data Manipulation Language)数据处理语言。
- DDL数据定义语言
SQL的DDL(Data Define Language)语言是处理与数据库内数据有关语句,它的指令范围包含自定数据类型、添加表、修改表、建立表索引、设置Primary Key等动作。
不过,一般来说,有关数据库的设置动作,我们通常是在数据库系统上直接通过数据库管理系统软件的操作来完成,而较少会采用这种利用SQL DDL语言执行的方式,而且这些DDL语句也无法在使用Microsoft Jet数据库引擎的数据库上运作。
常用的DDL语言包含有Create Table语句(建立新的表)、Drop Table语句(删除指定的表)及Alter Table语句(修改表的设计)。
- DML数据处理语言
SQL的DML(Data Manipulation Language)语言主要是用来处理与数据库记录内容有关的操作,可以进一步根据执行的指令动作是否会更改表内存储的记录内容,将DML指令下分为两类。
一种是会使表内的记录内容产生异动的,如记录的添加、修改及删除等动作,这种会更改表记录内容的SQL DML语言又称为Active Query Language。必须注意的是,在执行这种Active Query Language时,只能作用在单一表上,而且它不会返回任何的数据项。
常用的Active Query Language有:Insert语句(在指定的数据上新增记录)、Delete语句(删除表上的记录)以及Update语句(修改表上数据的内容)。
另一种则是不会改变表记录内容的DML指令,如数据查询动作,常用的指令有Select语句。不同于Active Query Language只能作用于单一表,这种查询指令可以同时作用于多个表中,而且在执行完毕后它会返回符合查询条件的结果记录群。