1、摘 要本文描述了用ASP技术实现动态网上书店的开发概述、技术特征、应用原理及方法,充分突出了ASP技术的优越性。简要论述了网上书店的优势、对社会的影响和建立网上购书网站应该注意的问题,并介绍了整个网站的运行流程,数据库的结构及网站的页面组成。着重论述了购物车和购书管理子系统的具体功能实现、关键技术的使用,以及与其他方法的综合应用。另外,为了保证数据库的安全,以及图书交易的顺利进行,系统还需要对用户进行管理,最简单的一点就是需要用户先注册,进行身份的验证。最后,系统特别提供了数据库管理的功能,允许具有管理权限的人员对系统数据库进行操作,包括填加、删减、修改记录等等。关键词:电子商务,动态服务网页
2、 ,网上书店ABSTRACTThis page illustrates the theory and method of ASP(Active Server Page). And let you learn the advantages of ASP. In the graduation design, we use ASP to create dynamic bookstore based on Web. It briefly expounds advantages and influence of EC, and introduces the flow of Web and structu
3、re of the database. Especially, it makes an emphasis upon “shoping cart” and “buying management”, integrated application of other methods .Moreover, in order to guarantee th database and the book dealing procss, th systm should regulate the user. The simplest way is to require users to register, and
4、 to check their identities. In the end, the system offers database managing function, allowing poeple who own the authority to operate the system, addition,deletion and modification of the records included.Keywords: Electronic Commerce, ASP, Online bookstore目 录摘 要IABSTRACTII第一章 绪论11.1课题的背景11.2研究内容11
5、3构建网上购书网站的意义2第二章ASP技术综述32.1 ASP的产生32.2 ASP与IIS32.2.1 IIS简介32.2.2 IIS与ASP的结合32.3 ASP内部5大对象42.4 ASP网页具有特点5第三章 系统分析63.1网站构建的需求分析63.2可行性分析73.3项目规划73.4系统功能结构图83.5网站设计的结构化方法83.6网上购书网站的用户购物流程93.7总体模块和各个子系统模块划分和功能93.8开发及运行环境103.9数据库的设计113.9.1数据库表建立113.9.2数据库连接13第四章 前台主要功能模块详细设计144.1前台首页模块设计144.2用户信息模块设计154
6、2.1用户登录页面154.2.2登录界面所涉及的HTML表单元素154.2.3 JAVASCRIPT的运用164.2.4 验证码的运用164.2.5用户注册界面174.2.6个人资料修改194.3新书推荐模块设计204.3.1新书推荐界面204.3.2分页功能214.4图书检索模块设计234.4.1 图书搜索界面234.4.2 图书分类界面254.5购物车模块设计28第五章 网上购书网站的后台325.1后台管理系统作用325.2书籍管理325.2.1图书的添加界面分析325.2.2图书的删除界面主要代码335.2.3订单管理功能355.3图片上传技术36第六章 结论39致 谢40参 考 文
7、献41附录142- 53 -第一章 绪论1.1课题的背景Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛
8、应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。在Web的空间里,几十万乃至几百万的站点相互进行着激烈的竞争,都想获取用户的主意。因此,简单的、静态的页面对用户是不会有太大的吸引力。动态的、有条理的数据加上交互性强的界面,才是用户乐意访问的。当然数据的自动更新也是非常重要的。在短短的时间里,Web面孔已发生很大的变化。现在能在Web页面内创建应用程序、访问数据库,使其无论在感觉、动作以及用途上都与Windows应用程序非常类似。现在商家们所需要的不仅只是一个单纯的宣传媒体,而是一个交互性很强的应用平台。利用它,商家们可以与潜在的客户、目前的客户、员工以及我们之间的任何一个人沟通,并
9、实施一些在线的服务的商业活动。 由于网上书店的出现,图书传统的经营模式和经营理念将发生巨大的变化。网上书店主要以飞速发展的遍及全球的 Internet 网络为架构,以交易双方为主体,以银行支付和结算为手段,以客户数据库为依托的全新商业模式。网上书店将会创造巨大的效益和机会,会将市场的空间形态、时间形态和虚拟形态结合起来,使经营者以市场为纽带,在市场上发挥最佳的作用,得到最大的效益。网上书店的发展,对社会的进步和知识的传播产生深远的影响,更重要的,它本身的发展和成熟为我们提供了许许多多的机会。1.2研究内容要实现网上购书网站的功能,离不开后台数据库的支持。本文中数据库服务器端采用了Microso
10、ft sql server 2000数据库作为ODBC数据源,并进行数据库存取等操作,使Web与数据库紧密联系起来。总体来说,尝试开发的购书系统分为前台和后台模块,前台模块包括会员注册,登录,注销退出模块,个人帐户管理模块,此模块主要负责管理个人资料,修改密码,购物车,我的订单,还有产品模块,搜索模块,分类模块。后台模块包括图书管理,包括添加新书,管理书籍,订单管理。用户管理模块,包括客户管理和管理员管理两个方面。最后还有送货,汇款方式管理。1.3构建网上购书网站的意义构建网上购书网站,可以促使商品流、物流、资金流等有机结合,加速书店内部的运作效率,并深刻地改变着书店的营销方式,向网络化转变,
11、节省经营费用;同时,通过构建网上购书网站,不仅建立了书店的企业文化,而且能树立书店形象,建立起了书店的品牌效应。书店对这些经营管理效益的追求成为构建网上购书网站的内部经营管理需求因素。 传统的购书方式四出寻找图书所花费的时间、付出的交通费用以及体力上的透支相对于越来越烦忙的人们来说是一种浪费,随着Internet的普及以及人们生活质量的提高,消费者渐渐意识到网上购书方便快捷的优越性,成为一支新兴的重要的不断壮大的消费队伍,因此,构建网上购书网站,是适应消费者消费方式转变的需要。赢得消费者才能赢得市场,有市场的书店才能生存发展。第二章ASP技术综述2.1 ASP的产生近年来随着Internet技
12、术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了ASP,一种用以取代CGI的技术。简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 HTML 表单收集和处理信息,上传与下载等等。更重要的是,ASP使用的ActiveX技术基于开放设计环境,用
13、户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。2.2 ASP与IIS2.2.1 IIS简介Web服务器是Web应用程序的心脏。IIS是微软推出的Windows NT Option Pack的主要成员,作为Win 2000 server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的
14、Web服务器之一。新推出的IIS6.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。2.2.2 IIS与ASP的结合在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构,如图2-1所示的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:减少构建和维护成本、加快联机过程、应
15、用软件集中在服务器端开发管理、前端可使用任何浏览器、后端可存取任何数据库、可使用任何脚本语言开发。程序和计算逻辑前端浏览器ActiveX Server元件ActiveX Server元件后端数据库数据库服务器Microsoft IIS + ASP浏览器图2-1 ISS+ASP构成三层式WEB结构图 2.3 ASP内部5大对象ASP提供了5个功能强大的内部对象,每个对象具有各自的属性、方法,有的还拥有数据集合与事件,它们共同完成Web中的一些重要工作。这5个对象及其功能描述如表2-1所示。合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。表2-1 ASP 内部5大对象及其功能对象名
16、称功能描述Request从客户端取得信息Response将信息送给客户端Server提供一些Web服务器工具Session储存在一个Session内的用户信息,该信息仅可被该用户访问Application在一个ASP-Application中让不同的客户端共享信息2.4 ASP网页具有特点利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术,ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试,服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页,ASP提供了一些内置对象,使用这些
17、对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息,ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发Email或访问文件系统等。由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。第三章 系统分析3.1网站构建的需求分析通过调查, 在中国图书出版品种数量从1950年的1.2万增加到2005年的30万,平均年增长率为5.1%;而图书总印数则由1950年的2.8亿册增加到2005年的
18、90亿册,平均年增长率为17.0%。图书发行量不断增加实际上也是读者对图书的需求不断扩大的真实写照。无论哪个书店,能经销如此巨量的图书,都将是一个神话。然而,Internet的出现打破了这个神话。如果某个书店能提供书目达310万种,而平均年出版图书品种就以13万计算,则该书店能经销约23年内全国出版的全部图书,这是传统书店不可想象的。普通书店的发展是大家有目共睹的。改革开放以后,尤其在城市,除了新华书店,各种国有、私营、个体的书店、书摊比比皆是,综合书店、专业书店、精品书店、工具书店、电子书店应有尽有。此外,还有国外图书业巨头的介入,不仅带来了更多的书,还引入了诸如会员制这样的图书营销新理念。
19、整个图书市场一片繁荣,在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现。 由此得出网上书店必须具有如下几个功能。q 展示网站销售图书的相关信息。q 提供图书销售,购物车添加图书,订单管理功能。q 提供最新图书,最廉价图书分类。q 提供用户登录,注册功能。q 提供图书查询功能,方便用户使用。q 提供图书分类功能,方便用户使用。q 通过网站后台,对网站前台信息进行全面管理。q 通进后台管理添加图书信息。q 通过后台对图书信息的全面管理。q 通过后台管理各类订单信息,提供订单查询功能。q 通过后台管理对用户信息进行管理。q 通进
20、后台对管理员的权限进行管理。q 系统退出。3.2可行性分析q 经济性网上购物网站,为书店在网络上提供了一个全面展示书店形象的平台,使广大书迷更加的了解图书的动态信息。满足客户在线提交在线订购图书、查阅图书的要求。网站提升了书店在客户中的形象,使书店和客户联系更加的紧密,提高书店的经济效益。q 技术性通过后台实现了对客户各类订单进行管理的功能,实现了对前台图书信息的更新功能。网络技术的普及与掌握,如网络互联、网络安全技术、Web技术(如Html,XML,CGI等)、各种安全协议(Https,SET,SSL等)、网络数据库技术等,使我们有能力开发实现适合自己的网上书店。这些将成为我们构建网站的直接
21、技术支持。3.3 项目规划网上购书网站是一个典型的数据库开发应用程序,由前台功能设计和后台功能设计部组成,规划系统功能模块如下:q 前台管理模块该模块主要包括:热门图书、最新图书、低价图书、搜索图书、分类图书、用户登录、用户注册和后台登录入口。q 后台管理模块该模块的主要包括:后台登录、图书添加、图书信息修改,删除、用户信息管理、订单信息管理。3.4系统功能结构图查看购物车功能选择管理员登录新用户注册用户登录页面系统首页下定单查看订单书籍管理功能选择用户管理书籍查询,分类处理顾客订单图3-1系统总体构成3.5网站设计的结构化方法结构化设计方法的基本思想是将一个大的复杂的问题分解成更小的、更容易
22、处理的独立性的子问题,对于每一个独立性子问题将作为一个单独的模块进行处理,必要时可将某些子问题进一步分解,这称为自顶向下程序设计;通过各个子模块分工合作,共同完成预定任务,这就是自下而上。在网站设计中,使用结构化设计方法,首先通过对网站作用和网站构建的目标充分分析后,将网站功能进行分解,分解成若干功能模块,为了完成功能模块的功能,可将其分解成一个个具有独立性的子模块,分别实现;尔后,通过这些子模块程序的调用,分工合作,共同完成该项功能。功能的组合也就实现了网站任务。网站设计使用结构化方法,有利于网站实现的简单性、各子模块程序相对独立,开发人员可分工合作,同时也提高了网站开发效率;另一方面,网站
23、某一功能的升级与修改,只涉及相关子模块程序,而不需对网站整体更改,增强网站的可靠性、可管理性。3.6网上购书网站的用户购物流程 图3-2 网上书店购物流程图3.7总体模块和各个子系统模块划分和功能网上购书系统后台前台用户管理商品管理图书分类图书搜索图书浏览用户登录用户注册购物车图3-3 模块划分图这一部分是此次设计最重要的部分,也是整个设计中最关键的代码部分, 整个购书网站大致可由如下主要这几个ASP文件组成,它们的大致功能如下。(1)index.asp 进入本栏目后的第一显示页,可显示所有的作品界面,提供多种查询方式的搜索界面连接,显示新近图书、热点图书,注册登陆界面。(2)uleft.as
24、p 左导航条界面(3)conn.asp 连接数据库界面 (4)xiangxi.asp点击文章标题,查看具体的某一篇作文及相关评论。(5)changepwd.asp修改密码的功能(6)ad.asp显示广告的功能(7)search.ASP按查询表单传来的数据对数据查询,并列出查询结果。(8)class.asp 图书分类页面(9)hot.asp 热门图书页面(10)user.asp 用户详细资料页面的显示和修改(11)myorder.asp 用户自己的订单查询管理(12)car.asp 购物车页面(13)vorder.asp 订单显示页面(14)reg.asp 用户注册界面(15)login.asp
25、 用户登陆界面(16)adminlogin.asp管理员登录页面(17)dingdanguanli.asp yonghuguanli.asp订单管理界面,删除用户界面(18) addbook.asp alterbook.asp图书的修改删除添加3.8开发及运行环境硬件平台:q CPU:P41.8GHz。q 内存:256MB以上。软件平台:q 操作系统:Windows xp/ Windows 2000。q 数据库:SQL Server 2000。q 浏览器:IE5.0,推荐使用IE6.0。q Web服务器:IIS5.0q 分辨率:最佳效果1024768像素3.9数据库的设计3.9.1数据库表建立
26、数据只有用数据库来管理才能有管理的可能。数据的结构将影响整个管理机制的应用,而且一但建立以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构.当前广泛地占领市场的数据库产品一般都是关系数据库产品,关系数据库产品基于关系演算和关系模型,具有坚实的理论基础,并且能够提供非面向过程的查询语句SQL,因此在市场上深受欢迎. Microsoft sql server 2000是微软开发的适合中小型应用的一种关系数据库产品.因此用简单易操作的Microsoft sql server 2000数据库是比较适合的。数据库中共有六个数据表“product”、“orders”、“deliver
27、y”、“category”、“admin”、“user”,如图3-4所示。图3-4 数据库中的表表admin用来存储管理员信息的,rank列代表管理员的权限,如果数值为1表示此管理员为高级管理员,具有更大的权限操作网上书店的后台管理系统。2代表普通管理员,只具有普通管理员的权限,比如添加修改图书信息等。表的结构如图3-5所示。图3-5 admin表category用来存储分类信息,categoryid为自动编号,category为图书分类的名称,如图3-6所示。图3-6 category表Delivery表用来存储送货,付款信息,deliveryid列代表送货和付费方式的代号,subject是
28、与deliveryid相对应的送货方式名称,methord列是用来区分此行是送货方式还是付费方式,如果为0代表此行表示的是送货方式,为1则代表此行为付费方式。表的具体结构如图3-7所示。图3-7 delivery表以下两张分别是表Orders用来存储定单信息,表product来存储图书的具体内容,分别如图3-8和3-9所示。图3-8 ordser表图3-9 product表表user用来存储用户信息,里面记录了用户的全部资料,包括用户的帐号密码,注册的日期,购买物品后所要邮寄的具体地址,以及汇款方式等等,表的结构如图3-10所示。图3-10 user表3.9.2数据库连接网上书店采用Micro
29、soft sql server 2000作为后台的数据库。我们建立了一个名为biye 的数据库用于存放数据,数据库的连接(conn.asp):其中Driver为驱动名,server表示连接的数据库服务器的名字,uid为数据库服务器的登陆名,PWD为登陆密码,database就是数据库名字了。第四章 前台主要功能模块详细设计4.1 前台首页模块设计ASP技术以其简单易操作,且功能较强大完全能够完成以上所要求的各操作目标。下面分操作及ASP文件的组成来讲解实现具体细节的几个主要页面。前台首页运行结果如图4-1所示。区域1为新书界面入口,点击后主要列出网站的最新图书信息,区域2为网站内所有图书信息截
30、面入口,点击后显示网站内的所有图书列表,区域3为低价图书入口,点击后主要列出网站内价格最低的几款图书,方便用户的选择。区域4为搜索图书界面入口,主要按照输入条件搜索图书,区域5图书分类入口,点击后显示按照图书类别进行分类的图书界面,区域6用户登录入口,为点击后会员帐号的登录,区域7为会员注册,点击后会员帐号的注册,区域8后台登录入口,点击后为管理员进入后台提供一个入口。图4-1 网站前台运行结果前台页面的各部分说明4.2用户信息模块设计4.2.1用户登录页面用户登录页面如图4-2所示.在该页面中用户需要填入用户名,密码,和验证码,以上信息都填写正确后才能进入该系统。图4-2 用户登录页面4.2
31、2登录界面所涉及的HTML表单元素登录界面所涉及的HTML表单如图4-3所示,表单元素如表4-1所示。图4-3 用户登录页面表单表 4-1 查询条件输入区中涉及的HTML表单元素名称类型含义重要属性form1form表单method=postaction=login.aspusernametext用户名class=wenbenpasswordtext密码class=wenbenyanzhengmatext验证码class=wenban”Submit1input提交按纽class=input value= 提交 Submit2input重置按纽Class=”input” value=”重置”4
32、2.3 Javascript的运用Javascript是由Netscape公司创造的一种脚本语言。它曾经几次改名,最终才定为javascript。作为一门独立的语言,javascript自然可以做很多的事情,不过它最主流的应用还是在Web上创建动态网页。Javascript目前在网络上应用十分广泛,几乎所有的动态网页里都能找到它的身影。其二,Javascript可以辅助后台做一些信息的检验,比如信箱格式是否合法等等。我们这里就介绍javascript的第二项功能。 用javascript判断客户端输入是否为空function checkuu()if (document.loginfo.use
33、rname.value=)alert(用户名不能为空)return falseif (document.loginfo.password.value=)alert(密码不能为空)return falseif (document.loginfo.yanzhengma.value=)alert(验证码不能为空)return false4.2.4 验证码的运用验证码是有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。虽然登陆麻烦一点,但是对网站来说这个功能还是很有必要。产生验证码主要代码分析:
34、 input type=hidden name=ValidateCode value= 通过隐藏的方式随同表单传递到下一个页面 产生随机验证码的函数 4.2.5用户注册界面用户注册界面如图4-4所示。用户要在网站上购买图书就应该先注册,注册登录后才能使网站更好的为自己服务,从而购买到自己想要的图书。为了防止用户恶意注册,此部分还设计了注册保护功能。刚注册成功的用户不能在一分钟能继续注册,否则系统自动提示错误信息。此功能主要是依靠asp的session对象的timeout属性实现的.下面通过具体代码来说明。 alert(你注册过了)alert(姓名或者电子邮件已经注册) alert(注册成功)图
35、4-4 注册界面4.2.6个人资料修改个人资料的修改与注册功能相似,修改会直接影响到用户所下订单的送货具体城市,具体邮政编码,电话等,所以修改必须慎重。界面如图4-5所示。图4-5 个人资料修改界面个人资料修改模块的实现,步骤如下:1.连接数据库,接着从cookies中读取登录时记录的用户名。2.打开user表中与这用户相对应的信息SQL代码为rs.open select * from user where username=&username&,conn,1,33.保存由个人资料修改表单提交过来的用户信息。4.保存成功后提示修改成功信息,代码为response.Writealert(修改资料
36、成功);document.location.href=user.asp5.个人资料修改表单制作的难点部分,分别从数据库中调出用户当前的资料,并作为表单的默认参数。 4.3新书推荐模块设计4.3.1新书推荐界面新书推荐界面如图4-6所示。主要是为了展示最近上架的图书,方便顾客选择购物。全部图书、低价图书界面与其相类似。图4-6 新书推荐界面4.3.2 分页功能 系统开发中必定用到分页技术,因为在庞大的数据库支持下,所列出的结果集有可能多达好几十条,而我们所做的网页不可能一页中放好几十条记录,这样既不美观,也为用户浏览造成不方便,所以在适当的时候就需要对记录集做一下分页。同样新书推荐界面也用到了分
37、页技术,下面就是我对分页技术做的一个比较简单的介绍,以下是一个分页技术的代码,主要是通过ado组件的recordset对象的分页属性实现的。rs.pagesize=3 设置每一页所显示的记录数量,这里为3条if len(request(page)=0 then ipage=1如果收到的page为空就自动默认为第一页elseipage=request(page)ipage是表示当前页的数值end if rs.absolutepage=ipage确定当前页为第几页 for i=1 to rs.pagesize 用for循环控制每一页显示的记录 if not rs.eof then %a href=xiangxi.asp?id=img src= width=60 height=100 a href=xiangxi.asp?id= class=lianjie a href=car.asp?action=add&id= class=lianjie购物车t