《毕业设计(论文)ASP在线图书销售系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)ASP在线图书销售系统设计.doc(21页珍藏版)》请在三一办公上搜索。
1、第一章 绪论1.1课题研究的可行性 随着现代化建设的深入,科教文卫事业得到飞速发展,互联网和电子商务成了人们日常生活的一部分。一方面,近年来,各种出版物琳琅满目,图书数目巨增,人们对图书需求的不断增大,尤其是教育体系对图书装备数量需求的激增,图书发行、销售业的竞争也越来越激烈。出版企业为了最大限度的挖掘市场潜力,实现资源的优化配置,都逐渐把电子商务平台引入营销体系!不仅能够实现在线图书信息及图书交易的调查,同时也起到搜集潜在客户信息的功能。对于各级图书代理商及购买者要使图书检索和销售与购买更人性更便捷。另一方面,从用户来看,传统的图书销售方式的一些弊端逐渐显露出来: 在堆积如山的书店里找到自己
2、喜欢的图书非常困难; 用户不能容忍为了选购图书不得不亲自去书店所带来的时间开销; 一个书店的藏书是有限的。传统的销售方式已经不能适应时代的要求,在这种情况下,基于web方式的电子商务系统得到了充分的发展,可以说电子商务系统已经改变了人们的生活和工作方式。这样如果把网站作为实现图书查询和选购的工具,就可以吸引更多的潜在客户访问。在这种情况下,作为一个出版社,如何制作自己的电子商务系统,以适应工作的需求,已经成为决定其发展的重要因素之一。正是基于上述情况,我设计并实现了基于B/S方式的网络图书销售系统。1.2课题研究的主要内容 本文大体可分为三大部分。第一部分是绪论,主要讨论了设计与实现网络图书系
3、统的可行性和意义。第二部分主要介绍了开发该系统的采用的开发工具ASP,其内容涵盖了目前流行的B/S结构、ASP工作的原理、ASP程序的组成以及通过ADO组件访问数据库的原理,为该系统的实际开发工作奠定了理论基础。论文的第三部分是本文的重点,主要从功能的角度将该系统划分为三大模块,分别为用户登录以及用户注册模块、选购图书及提交订单模块和管理后台管理模块。对于每一个模块又可细分为子模块。通过模块之间的层次关系阐述了该系统所涉及到的所有ASP文件及其之间的联系。最后一部分是结束语,首先对本文的工作作了总结,归纳一了笔者所取得的成绩,然后根据论文中存在的一些不足,确定了进一步工作的重点。第二章 系统的
4、理论基础2.1 B/S模式与C/S模式B/S模式是一种以Web技术为基础的新型的MIS系统平台模式,它把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器,从而构成了一个三层结构的客户服务器体系。它在综合多项技术的同时克服了C/S结构的一些不足。(1)解决了C/S应用中存在的客户端跨多平台的问题。B/S模式以WEB技术为核心,客户端具有统一的用户界面,即通过浏览器可以访问多个应用服务器,从而构成了一个三层结构的客户服务器体系;而基于C/S模式软件系统则要求1个客户端1个服务器成对出现,如果1个客户机要访问多个服务器就必须配置多种客户软件。(2)B/S模式结构的系统维护费用较
5、低,软件的更新不涉及用户,只需将服务器端的软件更新,所有用户都能自动更新应用,具有极强的扩展性。(3)以浏览器作为统一的用户只是面使用起来非常简单、易操作。2.2 ASP2.2.1 ASP简介 ASP的英文名称为Active Server Page。它是一个Web服务器端的开发环境,利用它可以产生和运行动态的 、交互的、高性能的WEB服务器应用程序。ASP属于Active X 技术的一种,Active X技术在WWW技术上可分为两大类:Active X Client和Active X Sever,通常实现动态主页的方式Java Applet、Active X Control、VbScript
6、、JavaScript等都属Client端的应用,通过浏览器来解释执行它们的语句命令。当需要针对不同使用者使用不同浏览器访问服务器资源时,Client端的应用是不够的。ASP就是这样一种Sever端的应用环境,它是通过描述语句(Script)来实现动态主页,但它的Script由服务器端解释执行。ASP自身提供了VB Script和JavaScript的驱动。ASP可以将可执行的Script直接嵌入HTML文件,HTML开发和Script开发在同一开发过程就可完成,而且通过Active X 构件,可以实现非常复杂的Web应用程序。ASP另外一个非常强大的功能就在于:利用ADO,ASP应用程序可以
7、非常方便地实现对数据库操作。用ADO的Connection、Command 和Recoreset,可以完成与数据库连接的建立,SQL语句的执行,数据的保存、查询和显示等工作。Command和Recoreset对象可以分别与已经和数据库建立了连接的Connection对象关联,从而能够控制与数据库的连接数量。2.2.2 ASP文件的组成ASP文件以扩展名.asp结尾,是一个纯文本文件,可以用任何文本编辑器打开或编辑。典型的ASP文件含又4个部分:(1)标准的HTML文件,用来显示网页页面;(2)服务器端执行的代码(位于之间),该代码在服务器端被解释并执行;(3)客户端执行代码(位于之间的脚本语言
8、和HTML标识及内容)。(4)包含文件语句include。多个相互关联的ASP文件有机的结合在一起就形成动态网页。2.2.3 ASP的工作原理Asp通过调用一个简单的动态库asp.dll进行正常的工作,该dll文件负责获得一个Asp文件并对该文件所有服务器端的代码进行解析,这些脚本代码会发送到合适的脚本引擎。然后使用如VBScript等脚本语言进行解释。脚本代码的运行结果重新整合该Asp文件中原有的其他文件及HTML代码,Web服务器将最终生成的页面发送到客户端的例览器中进行显示。(1)查找asp.dll文件当需要查找asp.dl文件的位置,或者需要处理该文件时,可以通过如下的方法查找于asp
9、.dll管理有关的内容。在windows2000中选择“控制面板”,然后选择“管理工具”中的“internet服务管理器”,在图21所示的窗口中选择IIS树结构的“默认Web站点。”在“默认Web站点”上单击鼠标右键,打开一个菜单,选择其中的“属性”。如图22所示。在该对话框中选择“主目录”选项卡,然后选择“配置”按钮,显示如图23所示的对话框。 从图23中可以看出,所有扩展名为“.asp”的文件都被“asp.dll”动态库文件进行处理,即所有asp文件被发送到该动态库进行处理。可以看到,“.asa”文件及其他几个文件也被映射到asp.dll动态库,有一些文件不必使用动态库文件进行处理,比如扩
10、展名是“.htm”和“.html”的HTML文件,这些文件会从Web站点的磁盘中直接发送到客户端进行显示。(2)处理ASP文件当asp.dll接收到一个asp文件后,会将它转换成适合于服务器输出的内容并发送到客户端。它会在该文件中查找所有的脚本代码,然后将这些代码转换为合适的内容,再重新返回给Web服务器;如果没有查找到任何脚本代码,则会通图21 IIS界面 图22 站点属性对话框知IIS直接将这些文件发送到客户端。当asp接收到一个确实包含了服务器脚本代码的asp文件时,会对它进行逐行解析,并且把各个代码段发送给合适的脚本引擎进行编译并运行,然后将结果插入到被处理asp页面相应的位置,最后不
11、再经过asp所在服务器的任何干涉,直接将结果发送到客户端进行显示。图23应用程序配置对话框2.2.4、ADO访问数据库的原理ActiveX数据对象(ActiveX Data Object,ADO)是允许用户与数据存储进行交互的组件,是ASP的内置组件之一,通常也称ADO组件。ADO的作用是使ASP应用程序与数据进行通信。ADO组件模型定义了三个一般对象:connection对象、command对象、recordset对象,如图24所示。通过这三个对象以及其他对象与集合,用户可以很方便地建立数据库连接,执行SQL查询以及存取查询结果等。connection对象是其他对象与集合的基础。connec
12、tion对象包含了一个Errors集合和一个Error对象,用来记录连接过程中所发生的错误信息;command对象包含了一个特有的Parameters集合和一个Parameter对象,用来传递command对象所需的命令参数;recordset对象包含一个Fields集合和一个Field对象,用来记录recordset对象中各个字段的相关属性。同时connection对象、command对象、recordset对象又都包含一个Properties集合和一个Property属性。图25描述了ADO各个对象之间的相互关系,其中的两个重要关系是connection对象和command对象使用Exec
13、ute方法可以产生一个Recordset对象;command对象和recordset对象使用ActiveConnection属性又可产生一个connection对象。表21给出了ADO对象的中涉及的参数及其含义。connectionErrors集合Error对象commandrecordsetParameters集合Parameter对象properties集合Property对象Fields集合Field对象properties集合Property对象Property对象properties集合properties集合Property对象properties集合Errors集合Fields集
14、合source属性Excute方法Excute方法Activeconnection属性Activeconnection属性connectioncommandrecordsetErrorParameterField图24 ADO模型图图25 ADO关系图(1)connection对象:connection对象负责对数据库的实际连接动作,其主要用途利用自身的属性(如表22)打开和关闭与数据库的连接。例如: 。 表22 connection对象的属性属性说明CommandTimeOut设置执行Execute方法的逾期时间ConnectionString描述数据库的连接方式ConnectionTime
15、Out设置Connection对象连接数据库的逾期时间CorsorLocation设置或返回光标提供者的位置State返回数据库的连接状态Version返回ADO函数的版本号(2)command对象:command对象是用来对数据库提出请求,指定执行的SQL语句,控制对数据库发出的请求信息,即指定对数据库操作的SQL命令,使用这些命令可以完成学度操作功能。其属性如表23。例如: (3)recordset对象:recordset对象主要用来浏览和操纵从数据库中获取的数据。利用recordset对象可以非常方便地实现对数据库的各种操作和控制,如浏览记录、增加、修改、删除记录、分页显示记录、在线编辑
16、WEB页中的记录等。例如: 表23 command对象的属性属性说明ActiveConnection指明用来进行SQL语句的数据库连接CommandText指明表的名称或SQL语句CommandType指明Command对象的类型Execute执行由CommandTextS属性指定的SQL语句、存储过程等第三章 网络图书销售系统的设计3.1系统总体设计网络图书销售系统所要实现的功能模块如下:(1)用户注册及登录身份验证该模块的主要功能是防止没有注册的用户或者非法用户购买在线图书,内容包括: 系统用户注册。 验证用户的注册信息。 系统用户进入系统时的身份验证。 系统用户在不同页面浏览时的身份验证
17、。该模块又可细分为三个子模快,如图31所示:用户信息用户注册登录验证修改信息图31 用户注册及登录身份验证模块示意图(2)在线销售子系统该模块的主要功能是为已经注册并且登录的用户购买在线图书提供一个购物平台,使他们能够非常方便地选购自己的图书。其主要内容包括: 允许用户浏览所有图书。 允许用户按图书种类进行查找。 允许用户购买自己喜欢的图书。 允许用户对购物车进行管理。 系统实现订单的处理。 系统完成整个购物流程。该模块又可细分为三个子模块,如图32所示:(3)后台管理子系统该模块的主要功能是针对后台图书数据库以及用户、订单数据库中的数据进行定期维护。该子系统只有管理员才有权限登录并修改后台数
18、据库中的数据。其主要内容包括:图书销售分类查找订单提交购买清单图32在线销售子系统模块示意图l 对管理员的身份进行验证。l 对数据库中的图书信息进行管理。l 对数据库中的用户信息进行管理。l 对数据库中的订单信息进行管理。该模块又可细分为三个子模块,如图33所示:后台管理添加记录查询记录修改记录删除记录图33后台管理子系统模块示意图3.2 后台数据库的设计与实现后台数据库选用Access2000作为后台数据库。该数据库(bookshop.mdb)中包含三个表:注册用户表、书籍信息表、订单表。 (1)注册用户表(guest):该表中主要存储注册用户的信息,包含昵称(nicename)、名字(na
19、me)、密码(password)、电话(tel)、电子邮件(email)、地址(adr)、邮编(zip),如图34所示。图34 guset表的逻辑结构(2)书籍信息表(book):该表中主要存储可供选购的书籍的相关信息,包含书名(book)、作者(author)、价格(price)、出版社(publish)、num(编号)、照片(photo)、邮编(zip),如图35所示。图35 book表的逻辑结构(3)销售系统的订单表(orders):该表中包含顾客选购商品清单的相关信息,客户名(guestname)、客户地址(guestadr)、邮编(guestzip)、电话(guestphone)、选
20、购书名(bookname)、选购日期(data),如图36所示。图36 orders表的逻辑结构3.3、系统功能模块系统的主页面如图37所示,其对应的asp文件为bookright.asp。该页面主要提供用户登录、用户注册、用户信息修改以及管理员登录的入口点。(1)用户注册模块该模块对应的是newusercheck.asp文件,核心代码如下:0 then founderr=true Response.Write 此用户名已注册! Response.End end if if not founderr then Response.Redirect useradd.asp %当用户新注册一个昵称,
21、该模块首先搜索guest表,如果发现有同名的数据存在则提示用户“用户名已存在”,否则进入图38所示的页面继续进行注册。(2)用户信息修改模块该模块对应的是userchange.asp文件,核心代码如下:当用户对所修改的信息确认后,就会存入到后台数据库中去。(3)图书查找模块该模块对应的文件为search.asp,其主要功能是完成分类查询不同的书籍。其核心代码如下:(4)购买图书模块该模块对应的文件为ordercheck.asp(如图39所示),该模块的主要功能是为用户已经选购的书籍提供一个管理平台,使用户能够对已选购的书籍进行再次确认。其核心代码如下:图39 用户购书界面 (5)订单确认模块该
22、模块对应的文件为shopcart.asp(如图310所示)。其主要作用向销售商发出购买选购图书的最终订单,完成购物。图310 订单确认界面(6)后台管理模块 图书浏览模块:该模块主要负责显示后台图书数据库中所有入库的图书及其详细信息。对应的文件为blist.asp(如图311所示)。核心代码如下:图311 图书浏览界面 图书信息修改模块(如图312所示):该模块包含三个文件:bupdata1.asp ,bupdata2.asp,bupdata3.asp。其中bupdata1.asp提供选择待修改图书的界面;bupdata2.asp提供修改图书信息的界面;bupdata3.asp完成将修改后的信
23、息写入数据库中。其中bupdata3.asp的核心代码如下:图312 修改图书信息界面%option explicit on error resume next dim conn,rs,sql,i,connstr connstr=dbq= & server.MapPath(mdb/bookshop.mdb) & ;driver=microsoft access driver (*.mdb); set conn=server.CreateObject(adodb.connection) conn.Open connstr set rs=server.CreateObject(adodb.reco
24、rdset) sql=select * from book rs.Open sql,conn,3,2 dim temp,book,author,price,publish,num,photo,memo temp=Request.QueryString(id) if temp then do while not rs.EOF if cstr(rs(0)=temp then exit do rs.MoveNext loop rs(num)=Request(num) rs(book)=request(book) rs(author)=request(author) rs(price)=request
25、(price) rs(publish)=request(publish) rs(photo)=request(photo) rs(class)=request(class) rs(memo)=request(memo) rs.Update else Response.Redirect bupdate2.asp end if% 删除图书模块:该模块对应的文件为bdel.asp,主要功能是将过期的图书删除掉。核心代码如下: alert (你已经成功的删除了以上记录!) document.location=bdel.asp 增加图书模块:该模块主要负责对于新出的图书进行入库。badd.asp(如图3
26、13所示)的核心代码如下:图313 增加图书模块界面 第四章 结束语4.1、论文工作总结 随着互联网的发展,人们的生活方式发生了重大的变化,电子商务方兴未艾。传统的购书方式在互联网时代已经显得比较单一,基于此,本文以Internet依托,利用asp开发出一个网络图书系统。本文做了如下工作:(1)介绍了开发网络数据库的工具asp及其相关的知识。(2)介绍了应用程序同后台数据库连接的ADO模型(3)基于asp及其ADO模型的相关知识开发出一个网络书店系统,该系统可以使人们购书的范式由传统的购书方式改为网上购书,极大地方便了人们的生活。4.2、进一步工作虽然本文取得了一些成绩,但由于时间和实验条件所限,仍然有大量的工作需要去做:(1)完善后台的顾客数据库和订单数据库的浏览、修改、添加、删除等功能;(2)和相关的人员进行进一步交流,逐步完善该系统,使其达到实用。致 谢值此毕业论文完成之际,首先向我的导师刘亚清老师致以最真挚的谢意!感谢刘老师半年来来对我在生活上和学习上给予的支持和帮助。刘老师渊博的学识、民主而严谨的作风、严以律己、宽以待人的高尚品质深深地影响着我,使我终身难忘。在刘老师的悉心教导下,我的科研