网上购物系1毕业设计论文.doc_第1页
网上购物系1毕业设计论文.doc_第2页
网上购物系1毕业设计论文.doc_第3页
网上购物系1毕业设计论文.doc_第4页
网上购物系1毕业设计论文.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要随着internet的不断普及,人们对于互联网技术的要求已不单单是浏览一下网页,收发电子邮件,日益忙碌的人们开始追求足不出户的利用互联网这一强大的平台来实现的网上购物。对于企业来讲,无论是企业之间(b to b),还是企业和客户之间(b to c)的交易,如果能够实现网上交易将大大提高交易速度节约交易成本。近几年,随着网络数据库技术的进一步发展,使得这一设想逐渐成为现实。运用asp技术和网络数据库原理,基于b/s模式我开发了一个网上购物系统。在我的系统中,顾客可以很方便的注册成为会员,对商品进行浏览检索,查看商品的详细资料,然后根据各人的喜好购买心仪的商品。系统会自动为顾客生成订单,按照顾客所填写的信息提交订单并发货。系统管理员则可以对现有的商品进行添加和编辑,审查已注册的用户并对提交的订单进行处理。关键词:b/s模式;asp;电子商务;网络数据库abstractalong with the internet of continuously universal, people are for the request of technique internet the already and not only single is a view once web page, receive and dispatch the e-mail, increasingly busy people start pursuing the exploitation internet that keep the house this a the mighty platform come the net that realizes on the shopping. speak for the business enterprise, and weather is the business enterprises ( b to b), or business enterprise with the customers bargain for( b to c), if can realize the net up trade and will consumedly increase the bargain speed the economy to trade the cost. in the last few years, along with the techniques further development of network database, make this on conceiving to gradually become the actuality.application asp technique is with the network database principle, according to b/ s mode i developed a net on the shopping system. in my system, customer can very the convenient registration become the member, and proceeds to merchandise view index, look into favors that the merchandises detailed data, then purchase the adoring merchandise according to the everyone. system would the auto is a born order of customer, and hand over the order to erupt goods according to the information for fill inning of customer. system manager can then proceeds to increase with the order that edit, investigate already the registered customer combine right hand over to proceeds to handle to current merchandise.key words: b/ s mode, asp, electronic commerce, network database.目 录摘 要1第一章前 言511问题的提出512问题的解决5第二章目前主流网站开发技术、工具的优缺点对比7准备知识asp技术721 asp的简介722 asp的特点723 asp的工作原理9第三章系统概述1031系统设计思想103.1.1访问方式的选择1032系统总体结构图1233系统功能模块图1334系统开发工具14第四章系统网络数据库的建立1541系统数据源的设置1542表、关系模型和数据库的概述1743范式与建表的规范化1744系统数据库的详细建立19第五章系统功能模块设计2251客户端22512会员注册33513商品查询35514新闻中心3652后台管理端41521最新商品45523售后服务46524支持付款47第六章结束语49致谢50参考文献:51第一章前 言11问题的提出对于基于web平台的网上购物系统,存在着一个前台应用和后台管理的问题。而无论前台还是后台,都要对数据库进行调用和操作。因此如何创建网络数据库,以及客户端如何调用服务器端的数据库成为实现网上购物的一个关键性问题。12问题的解决 在这里,我采用b/s模式来实现客户端对服务器端的调用,所谓b/s模式即浏览器/服务器模式,是一种从传统的二层c/s模式发展起来的新的网络结构模式。在b/s模式中,客户端运行浏览器软件。浏览器以超文本形式向web服务器提出访问数据库的要求,web服务器接受客户端请求后,将这个请求转化为sql语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给web服务器,web 服务器再一次将得到的所有结果进行转化,变成html文档形式,转发给客户端浏览器以友好的web页面形式显示出来。而对于网络数据库的创建,则是利用asp技术来解决。asp(active server pages动态网页)是微软公司推出的一种用以取代cgi(common gateway interface通用网关接口)的技术。目前,internet上的许多基于windows平台的web站点已开始应用asp来替换cgi。 简单地讲,asp是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式web服务器应用程序,如交互式动态网页,包括使用html表单收集和处理信息,上传与下载等等。 在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于商品或服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务器的后端数据库是许多web服务提供者必需有的服务,asp通过内置的adodb组件来实现这一功能。可以使用ado去编写紧凑简明的脚本以便连接到odbc 兼容的数据库和 ole db 兼容的数据源。至于实现的细节,在后续部分的网络数据库章节中有详细介绍。第二章目前主流网站开发技术、工具的优缺点对比准备知识asp技术21 asp的简介asp(active server pages)是一种类似html(hypertext markup language超文本标识语言)、script与cgi(common gateway interface 通用网关接口)的结合体,但是其运行效率却比cgi更高、程序编制也比html更方便且更有灵活性,程序安全及保密性也比script好。html(hypertext markup language)是一种超文本标识语言,文件通过这种格式可以在互连网上载送浏览,用户只要使用网页浏览器工具就可以浏览这些文件,目前比较常用的工具包括microsoft internet explorer,netscape communicator等,由于html文件都是由标签(tag)所组成,因此它比较适合制作静态网页,再者,由于先天上的限制html是无法直接存取数据库的,所以存取数据库的工作大多是依靠cgi来处理。asp不但可以包含html标签,也可以直接存取数据库及使用无限扩充的activex控件,因此在程序编制上要比html方便而且更富有灵活性。asp以html为基础,主体还是html代码,只是在需要asp动态产生的地方加入asp代码。asp的最终显示结果也是html代码,可准确控制asp的输出结果。script(脚本)是由一组可以在web服务器或客户端浏览器运行的命令组合而成,目前在网页编制上比较流行的脚本语言包括 vbscript,javascript。这些脚本大都是在客户端运行,因此,客户端可以很清楚的取得脚本的内容。所以,就安全性而言,这些客户端的脚本语言的确有危险。asp虽然具有脚本语言的方便性,但由于他是在web服务器端运行,运行后再将运行结果以html格式传送至客户端的浏览器。因此asp与一般的脚本语言相比,要安全的多。22 asp的特点asp可以和html或其它脚本语言(vbscript,javascript)相互嵌套 asp是一种在web服务器端运行的脚本语言,程序代码安全保密 asp以对象为基础,因此可以使用activex控件继续扩充其功能 asp内置ado组件,因此可以轻松的存取各种数据库 asp可以将运行结果以html的格式传送至客户端浏览器,因而可以适用与各种浏览器目前主要的网站开发技术有asp、cgi、php、jsp等,其各自特点如下:1.asp技术具有以下特点:a、使用vbscript、javascript等简单易懂的脚本程序,结合html代码,即可快速完成动态网页的开发。b、无须编译,容易编写,可在服务器端直接执行。c、使用普通的文本编辑器,如windows的记事本,即可进行编辑设计。d、与浏览器无关。用户端只要有html的浏览器,即可浏览asp所设计的网页内容。asp所使用的脚本程序,如vbscript或javascript均在web服务器端执行,用户端的浏览器可以不具备运行这些脚本的能力。e、asp与任何activex script语言兼容。除了可使用vbscript或jscript语言来设计外,还可通过plug-in的方式,使用由第三方所提供的其他脚本程序,如rexx、perl和tcl等。脚本引擎是处理脚本程序的com(component object model)对象。f、asp源程序不会被传到客户的浏览器中,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。g、可使用服务器端的脚本来产生客户端的脚本。h、activex server components(activex服务器组件)具有无限可扩充性。可以使用visual basic、java和visual c+等编程语言来编写所需的activex server component。2.cgi技术简介cgi是common gateway interface(通用网关接口)的缩写。其运行方式是,用户在浏览器端填好表单(form)要求输入的数据,提交后,浏览器即向web服务器提出http请求。web服务器端将执行表单设置的可执行的cgi应用程序,分析表单中输入的数据,并访问web数据库,最后将结果以html的格式返回给浏览器。对于cgi来说,指令来自于浏览器,由cgi接口传送到服务器之后,再由服务器进行编译,然后启动服务器中相应的程序。cgi存在的明显不足是在相同的操作系统中,若web服务器不同,那么cgi接口程序也会不同。如果改变web服务器,原来的接口程序也就无法使用。asp程序也可以是cgi程序,或者说是cgi程序的改进版。它也是在服务器端执行的,但与cgi相比,它有以下两个优点:a、cgi接口对象化:asp提供了丰富的内置对象,让asp程序简化cgi的相关处理工作。b、能够使用activex对象:除了asp内置对象外,凡是windows系统中的activex对象都可以让asp程序使用,使其成为asp网页制作中的资源。这样也就使得asp程序可以做的事情比传统的cgi程序要多出许多。3、php简介php也是一种在服务器端嵌入html的脚本程序。与asp的格式有些相同,但php在unix系统环境下的超强弹性可能会吸引众多用户,这些弹性是unix环境下各种各样的工具,如:perl、awk、grep和sendmail等。4、jsp简介jsp是java server pages的简称,是将纯java代码嵌入html中实现动态功能的一种技术。在sun公司正式发布jsp后,这种新的web应用开发技术很快引起了人们的关注。jsp为创建高度动态的web应用提供了一个独特的开发环境。事实证明,jsp必将成为asp技术的有力竞争者。jsp与asp技术非常相似,两者都提供在html代码中混合某种脚本以及由语言引擎解释执行程序代码的能力。在asp或jsp环境下,html代码主要负责描述处理逻辑。普通的html页面只依赖于web服务器,而asp和jsp页面需要附加的语言分析引擎和执行脚本。执行结果被重新嵌入到html代码中,然后一起发送给浏览器。asp和jsp都是面向web服务器的技术,客户端浏览器不需要任何附加的软件支持。asp的编程语言是vbscript之类的脚本程序,而jsp使用的是java,这是两者之间最明显的区别,即两种语言引擎使用完全不同的方式处理页面中嵌入的脚本。在asp下,vbscript代码被asp引擎解释执行。而在jsp下,脚本被编译成servlet并由java虚拟机执行,这种编译操作仅在对jsp页面的第一次请求时发生。23 asp的工作原理如果浏览器向iis/pws请求的是.htm文件,那么iis/pws会直接把文件的内容传给浏览器.但如果浏览器向iis/pws请求的是.asp文件,则iis/pws会首先解释文件.iis/pws解释.asp文件的过程中,遇到html标记或一般文字时会直接把读区的内容传给浏览器.但如果遇到的标记,则会把其中的内容视为程序,然后解释执行,但程序经过iis/pws解释执行后,其源程序代码不会传给浏览器,而只是把可显示的运行结果传给了浏览器active server page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。asp脚本是采用明文(plain text)方式来编写的。 asp脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准html页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用web浏览器通过internet来访问基于asp脚本的应用时,web浏览器将向web服务器发出http请求。web服务器分析、判断出该请求是asp脚本的应用后,自动通过isapi接口调用asp脚本的解释运行引擎(asp.dll)。asp.dll将从文件系统或内部缓冲区获取指定的asp脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成html格式的内容,通过web服务器原路返回给web浏览器,由web浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的asp脚本调用。若干个有机的asp脚本调用就组成了一个完整的asp脚本应用。虑到兼容性,易用性以及稳定性,最终我们选择了asp技术完成网站开发,这一方面是由于asp技术易学易用,容易上手;另一方面,asp技术与微软操作系统的良好兼容性是其入选的重要决定因素,毕竟现在还是使用微软操作系统的服务器提供商较多,相关的资源也比较丰富。开发平台则选用microsoft visual interdev 6.0,作为microsoft visual studio成员,其良好的兼容性是其他开发平台无法比拟的;其良好的代码管理功能,容易上手的特点也是其入选的原因。数据库平台则采用了microsoft access 2000,一方面是由于其是微软产品,兼容性方面不会出现问题;另一方面,其全中文界面,与office家族成员“一脉相承”的操作方式,使其几乎不需学习即可轻松上手,丰富的在线帮助可以解决大部分的常见问题,数据库平台自然非它莫属。 第三章系统概述31系统设计思想整个系统是以asp技术来开发,数据库的创建使用microsoft access 2000,对数据库的查询和调用是通过asp内置的adodb组件来实现的。3.1.1访问方式的选择由于选择了access2000作为数据库平台,为了保证运行速度和稳定性,选择ado作为数据库访问方式,activex data object(ado)是当今流行的web数据库应用的最佳选择之一。ado是microsoft提供的一种功能强大的数据库访问编程模式,容易使用且可以轻松的集成到web页中。我们可以使用ado编写紧凑简明的脚本,轻松地连接到odbc兼容的数据库。使用ado技术,可以与asp紧密结合起来,建立提供数据信息的网页内容,只需在网页页面中执行sql指令,让用户在浏览器界面中输入、更新和删除web服务器上的数据。当用户在浏览器上填好表单所要求输入的资料并提交后,经过internet传送http请求到web服务器,该请求在web服务器执行一个表单所指定的asp程序。在asp文档中,ado通过odbc驱动程序连接到支持odbc的数据库上,发送asp文档所指定的sql指令到数据源,最后将执行的结果以html的格式传送到用户的浏览器上。ado技术具有以下特点:1.将原本复杂的数据库程序开发变成轻松容易的工作,除了具有传统数据库开发环境的优点外,还增加了对数据库修改和维护的功能。2.几乎兼容所有的数据库系统(如microsoft access、foxpro、sql server及oracle等),ado为他们提供相同的处理界面供程序设计人员使用。3.能跨越多种不同的程序语言开发环境,如visual basic/c+,java语言,甚至script环境下的java/vbscript等。虽然开发的语言环境不同,但ado提供了类似的设计方式,方便了用户的使用。4.可以在支持com(component object model,组件对象模型)和ole(对象链接和嵌入)的服务器端操作系统,包括microsoft windows 98/nt/2000等操作系统上都可以开发出web数据库系统。5.为了让ado对象能够存取数据库中的数据,必须将数据库的驱动程序(odbc驱动程序与ole db驱动程序)事先安装上。使用ado开发数据库应用程序有以下优点与特色:1.支持c/s结构与web系统集成的开发设计。2.内部有多个互相独立的对象模型,便于进行开发和设计。3.支持分批修改数据库内容。4.支持多种不同的数据控制形式。5.具有先进的数据库高速缓存管理功能。6.允许在程序中使用多个recordset对象进行多个分批区块数据传递。实际应用中采取了在脚本文件中直接创建数据源的方式,这样不需进行任何其他的设置,程序会在需要时自动创建所需数据源,示例代码如下:连接数据库dbpath = server.mappath(mdb/db.mdb)set conn = server.createobject(adodb.connection)conn.open driver=microsoft access driver (*.mdb);dbq= & dbpathhead=网上商城创建一个recordset对象rsset rs=server.createobject(adodb.recordset)sqltext=select top 10 * from cpb order by regtime descrs.open sqltext,conn,1,1用open方法访问数据库完成对数据库的操作后,可以使用 set =nothing释放其占用的资源。为了便于编程,前台的操作页面和后台的数据库管理页面的设计我是分别进行的。在整个程序编写完之后,在将后台的数据库管理页面通过管理员在前台的登录来调用,这样就把前台和后台有机的连接起来,使操作更加方便。当用户以会员身份登录调用执行的是前台的操作页面,而当以管理员身份登录时,则进入后台管理页面来对数据库进行操作。而对于前台购物操作中的核心部分购物篮的实现,这将在后面的功能模块设计章节中做详细阐述。32系统总体结构图 internet信息服务器asp实现访问界面 access数据源浏览器浏览器internet浏览器浏览器 由图可以看出,系统是基于b/s模式开发的。33系统功能模块图请先登录,若未注册请注册成为会员购买商品查看商品商品查询订单查询以会员身份登录会员注册用户进入购买商品商品添加以管理员身份登录管理员退出商品审查处理订单发货查询会员审查管理员添加管理员审查34系统开发工具开发环境:windows xp professional iis 5.0(internet information server 5.0) internet explorer 6.0脚本语言:javascript、vbscript数据库工具:microsoft access 2000asp开发工具:microsoft visual interdev 6.0 网页设计:macromedia dream weaver mx 2004第四章系统网络数据库的建立41系统数据源的设置使用ado去编写紧凑简明的脚本以便连接到odbc 兼容的数据库和 ole db 兼容的数据源。具体的操作步骤可以归纳为以下几步: 创建数据库源名(dsn) adodb通过odbc工作,因此要在odbc中设置dsn(数据源名)。打开windows的控制面板,双击odbc的图标,然后选择文件 dsn 的属性页,单击,选择数据库驱动程序,然后单击下一步,按照屏幕的指示键入数据源文件的名称,然后单击“下一步,再单击完成创建数据源。创建数据库链接 链接用以保持一些关于正在访问的数据的动态信息,以及链接者信息。利用adodb的成员函数open和先前设定的dsn与数据库连接,其语法如下:setconnect=server.createobject(adodb.connection)/创建了链接对象connect。 connect.open(dsn=dsnname;uid=userid;pwd=password) /打开链接。dsnname为数据源名;userid为用户名;password为用户口令。创建数据对象 ado中的数据对象通常保存的是查询结果。recordset 是ado中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下: set recordset =connect.execute(sqtstr) ,创建并打开了对象recordset ,sqtstr是一个串,代表一条标准的sql语句。例如: sqlstr=select*from b1 set recordset =connect.execute(sqlstr) 这条语句执行后,对象recordset中就保存了b1中的所有记录。 操作数据库,可利用execute方便地执行数据的插入、修改、删除等操作。如执行插入操作: sqlstr=insert into b1values(1,2) connect.execute(sqlstr)关闭数据对象和链接 在使用了ado对象之后,一定要关闭数据对象和链接。在asp中通过调用方法close实现关闭。 关闭创建的数据对象:record set .close set record set=nothing 关闭创建的链接对象:connect. close set connect=nothing 完整的程序片段: setconnect=server.createobject(adodb.connection)/产生组件实例connect.open(dsn=dsnname;uid=userid;pwd=password)/连接数据库sql=select*fromtablename setrs=connect.execute(sql)/执行查询 dowhile not rs.eof/显示结果 上述是用asp访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上asp强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。42表、关系模型和数据库的概述一个数据库的信息通常组织和存储在表的形式中,各个表具有行和列。这样由行和列组成对象的项目称为数据项(又称为字段),所有数据项组成一个记录,若干个同类记录构成表文件。若干个同类记录构成表文件。若干个表以及它们的关系等用来管理数据,也叫做数据库文件。数据库加上相应的操作和管理数据库的软件,即为一个数据库管理系统(dbms),它能合理地组织和存储大量数据,并支持对于数据库表中数据的各种操作,如:更新、排序、索引、查询、列表、打印等。数据库系统是实现有组织地、动态地存储大量的相关数据,方便用户访问的计算机软件、硬件资源组成的系统,它由数据库管理系统、数据库以及支撑数据库管理系统的软、硬件构成。数据库离不开数据模型。数据模型是对现实世界客观事物及其联系的描述,它反映数据项之间和记录之间的联系,在数据库技术中使用模型的概念描述数据库的结构与语义。常用的三种数据模型:层次模型、网状模型和关系模型。此外,还有面向对象模型等。关系模型把数据之间的关系看成是一个二维表关系,因为二维表关系建立在集合代数关系理论基础上的,所以,把这种建立模型基础上的数据库称为关系数据库。数据库与文件系统不同,其数据独立于程序而存在,并可以提供给不同的用户共享使用,其基本思想是对所有的数据实行统一的、集中的、独立于程序的管理。关系数据库管理系统很好地实现了这一基本思想。43范式与建表的规范化在关系模型中,一个数据库模式是关系模式的集合。在建立书店数据库时,要按关系能好的关系模式的集合作为数据库模式,关系模式的优劣,可以用模式的范式(normalforms,简记为nf)。第一范式(1nf)如果关系模式r的每个关系r的属性值都是不可分的原子值,那么称r是第一范式(1nf)的模式,r是规范化关系。例如教师模式r(name,address,phone),如果一个教师家中装了两部电话,那么关系中至少要出现两个元组,以便存储两个号码。1nf的模式是关系数据库最基本的要求,远不是理想模式。第二范式(2nf)fd函数依赖(functional dependency)定义:设有关系模式r(u),x和y是属性集u的子集,fd是开为x y的一个命题,只要r是r的关系,对r中的任意两个元组都有“x值相等蕴涵y值相等”,那么fd x y在关系模式中成立。“x y”读作“x函数决定y”或“y函数依赖于x”。x y反映了属性集x和y之间的联系,对于每一个x值,只有唯一的y值与之对应。我们把关系模式r的属性分为两类:一类是键的属性,称为主属性;另一类是不属于任何键的属性,称为非主属性。我们把fd分成完全fd和局部fd两类。如果x y成立,对x的任何真子集x都有x y不成立,则称x y是完全fd,否则称x y是局部fd。若关系模式r是1nf,且每个非主属性完全函数依赖于候选键,那么称r是2nf模式。第三范式(3nf)如果x y和y a成立,并且有y x不成立,a不属于y,那么称x a是传递fd(a传递依赖于x)。若关系模式r是1nf,且每个非主属性都不传递依赖于候选键,那么称r是3nf模式。在3nf模式中排除了非主属性对键的传递依赖。3nf的模式必定是2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论