当前位置:文档之家› (完整版)成都理工大学毕业设计

(完整版)成都理工大学毕业设计

(完整版)成都理工大学毕业设计
(完整版)成都理工大学毕业设计

成都理工大学毕业设计

—基于Web校园电子商务网

论文题目:基于Web校园电子商务网学生姓名:张晓玲

专业名称:计算机应用与维护

导师姓名:冷小鹏

专业职称:讲师

2007年3 月28日

摘要

随着互联网技术和数据库技术的高速发展,电子商务已越来越流行。数据库有强大的数据存储和管理能力,并且能够进行动态的数据的输入和输出。数据库和互联网的结合组成的网络数据库系统为电子商务提供技术支持。网络数据库有两种模式:一类是ClientServer(客户机服务器)模式;另外一类就是BrowserServer(浏览器服务器)模式,也叫基于Web 的网络数据库应用模式。本系统就是个BS模式的系统,它的实现主要用到了关键技术所涉及到概念有: A ctive Server Page(ASP);HTML和javaScript事件处理程序;Access 2000等。整个论文就此系统进行了详细全面的论述。系统允许浏览者(没有注册的用户)申请在该系统注册帐号。允许注册用户登录,登录之后可以得到所有的在线服务。可以查看商品信息,可以进行交易,查询订单、申请开店等服务。如果对自己的订单情况有疑问,可以发电子邮件给管理员进行申诉。可以使用选择任何一种网站提供的支付手段比如在线支付,银行汇款,邮局汇款等。实现系统管理员对系统用户管理、订单管理、邮件管理、商品管理

关键词:电子商务数据库网站规划互联网

Abstract

Along 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 the shopping.Speak for the business enterprise, and wether is the business enterprise's( B to B), or business enterprise with the customer's 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 technique's 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 developped 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 favour that the merchandise's detailed data, then purchase the adoring merchandise according to the everyone.System would the auto is a born order of customer, and for fill inning of customer.System manager can then proceeds to increase with the order that edit, investigate already the registered customer combine right Server)以上。

2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。

3) WINDOWS 9598运行PWS(Personal Web Server)。

其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。

3.2.1 IIS简介

ASP内含于IIS3.0和IIS4.0中,WindowsNT中的Opition Pack中包含了

最新的Internet Information Server4.0以及Personal Web Server4.0除了

IIS4.0以外,Windows NT 中的Opition Pack还包括了以下几个成员: MTS(Micorsoft Transaction Sever)2.0.MTS 是一个强大的工具,它给程序开发人员提供了管理事务的方便途径.NTS给开发人员提供了一系列

的特性来管理分布式应用程序,它特别管理应用程序的应用与通信及与其

他组件的交互.在网络程序和组件中加入MTS可以提供更多的灵活性、升级能力和功能.另外,也可以用MTS在网络中加入容错性能.

MSMQ(Micorsoft Message Queuing Sever)给开发人员提供了一种方便的进程或应用程序可以通过不同的网络和系统通信.MSMQ处理了进程和应用程序间通信的复杂性,它通过网络和协议独立来提供灵活的处理机制.它还处理同步和异步的消息服务.使用MSMQ,网络应用程序可以直接调用MSMQ的信息传送服务来管理对规定系统的信息发送和接收.另

外,MSMQ还给网络应用程序引入了新一级的容错性能.

MT S、MSMQ、Index sever与IIS紧密结合,利用ASP来进行他们彼此之间的交互和设计.因此,ASP所起的作用是不可以小看的。

IIS4.0之所以能成为功能强大的操作平台,主要有以下几个特点:

1)FTP特性

IIS4.0允许管理员创建多个FTP站点,这多个站点有强大的功能。

另外FTP服务器还充分利用了IIS的安全特性。以及它的日志特性。

它还可以在登录和退出是显示用户消息。

2)HTTP特性

IIS最常见的应用是通过HTTP在World Wide Web上传递数

据.IIS4.0的HTTP服务器支持HTTP1.1,且具有较高的安全性和灵

活的访问日志,.

3)应用程序发布特性

关于应用程序的发布有很多方案,MISHE MSMQ扩展了应用程序

的特性.

4)数据库访问特性

IIS有很多方发可以访问数据库,比如AD O、IDC.

3.2.2 IIS的配置方法

1、找一张windowxp的系统安装盘;

2、在“开始”→“控制面板”→“添加删除程序”→“添加删除Windows组

件” ,随后在“组件”列表对话框中选中“Inte rnet 信息服务”、”管理和监视工具”和“脚本调试器”,点击Windows组件对话框上“确定”按钮,Windows 2000 将会自动开始安装和配置IIS。

3、安装好了IIS并不等于马上可以使用,还要给IIS配置上IP地址才可

以使用:

第一、在“开始”→“程序”→“管理工具”→“Internet服务管理器”;

第二、打开之后,你可以看到在计算机标识符下有默认的FTP站点、默认的Web站点和一个默认的SMTP虚拟服务器。

第三、选中“默认的Web站点”,按鼠标右键,从弹出选单中选择“属性”,进入属性对话框并选择“Web站点”选项,然后点击“IP地址”下拉框,选择“192.168.0.1”(你本机上的IP地址)作为Web站点的IP地址。这样,你就可以通过在IE浏览器中键入“ Gateway Interface),即通用网关接口;

(2)利用web服务器厂商提供的专用接口如:ISAPI,NSAPI;

(3)利用JAVA访问数据库(JDBC)。这三种方案存在一个共同的问题,就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。

ASP技术的出现使web动态网页设计成为一件轻松愉快的工作。只要几

行脚本语句,就能将后台的数据库信息发布到Internet上,在编程和网页脚本的可读性方面大大优于传统的技术方案。

ASP文件是一种嵌入了可在服务器端执行脚本的HTML文档,与ASP兼容的web服务器执行这些脚本,现场生成相应的HTML语言成分,与网页中原来的HTML语言合成到一起,共同作用到前端。一个ASP文件就是一个文本文件,其中包含了以下内容:

(1)TexT(文本)

(2)HIML tags(HTM L标记)

(3)Script命令

下面是本网页中ASP程序的一段源码:

由于采用了BS模式,使得整个系统大在的减少了工作量。图4.4显示了BS模式

图5 BS模式原理图

的工作原理。在前端采用IE、Netscape等的浏览器将用户提交的操作信息向Web服务器发出HTTP请求,Web服务器通过ASP和一些中间组件访问后台数据库,并将操作结果以HTML页面的形式返回给前端浏览器。

4.5 ASP内置对象和组件

ASP提供了功能强大的六个内置对象和五个内置组件

内置对象:

?Request(请求):从前端用户取得信息

?Response(响应):将信息送给前端用户

?Server(服务器):提供Web服务器工具

?Session(会话):储存在一次会话内的用户信息,仅被该用户访

?Application(应用):管理所有的会话信息,供所有用户共享

?ObjectContext(对象上下文):配合Transaction服务器进行分布

式事务处理

前三个很常用,Request和Response是用来实现web Server与浏览器交互。Request的一个重要方法是ForM(),其作用是提取浏览器的用户输入信息。如下面的语句可以取得用户填在文本框里面的内容:Request.Form(“nane”)显然,这比CCI等方法所需要的复杂编程简单多了。而输出要用到Response的一个重要方法Write,如:“Response.write our message”该语句向浏览器输出了一条消息。

内置组件:

?数据库存取组件:ASP提供ADO来存取具有ODBC标准的数据库

?广告轮显组件:用来维护、构建Internet广告

?浏览器兼容组件:将浏览器的功能数据提供给服务器,以便送出

适合于各种浏览器的Web页面

?文件存取组件:提供文件读写的工具

?文件超链接组件:提供对Web页面的管理

第五章ASP与数据库

Access 数据库管理系统是Microsoft Office 套件的重要组成部分,是Access的最新版本,可在Windows 95环境下运行。Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利种数各据源,生成窗体(表单),查询,报表和应用程序等。

5.1什么是Access数据库

数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。

Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。图1是一个“产品”表的例子。“产品”表由10个记录组成,一个记录占一行,每一个记录由产品ID、产品名称、库存量、订货量、单价和折扣率6个字段组成。“产品ID”是字段名,其下面的1,2等是字段的值。

表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。

5.1.1 Access 的6种对象

Access 数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。

?表(Table) ——表是数据库的基本对象,是创建其他5种对象的基

础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,

故又称数据表。

?查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛

选记录并能连接若干个表的字段组成新表。

?窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗

口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。

?报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打

印出来,以便分析。

?宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操

作。Access列出了一些常用的操作供用户选择,使用起来十分方便。

?模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精

细和复杂,用户可以根据自己的需要编写程序。

与Access 以前的版本比较,Access 新增了许多功能,字段类型增加了OLE对象和超级链接,特别是与Internet的融合,在数据库中可以直接链接到指定的Web页面或网络文件,也可以把Web页面上的表格导入到数据库。Access 可以方便地利用各种数据源,包括dBASE, FoxBase, FoxPro,Excel,Word 等。Access增加了数据库访问的安全机制,可对表一级设置访问许可权。Access 还可以方便地利用FoxPro数据库、Excel电子表格的数据,还可以和Word混合使用,打印通用信函或信封。

5.2 ASP连接数据库

ASP连接数据库有两种方法:

第一种:

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.md b)};dbq="&Se rver.MapPath("data.mdb")

第二种:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Map Path("data.mdb")

5.3 ASP访问数据库

5.3.1 ASP访问数据库的工作原理

ASP脚本实际上是一种服务器端的解释脚本,其脚本包含在以.asp 为后缀的文件中。当在浏览器中访问以后缀名为.asp的ASP主页时,网络服务器响应HTTP请求并调用ASP引擎(asp.dll)执行该文件并解释执行其中的任何脚本(VBScript或JavaScript),若脚本中有访问数据库请求,立刻通过ODBC与相应的后台数据库相连,由数据库访问组件ADO (ActiveX Data objects)完成操作,最后,ASP根据访问数据库的结果集生成包含有数据查询结果的HTML语言的主页返回给前端用户(工作原理见下图)。

图表 6 ASP访问WEB数据库的工作原理图

由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,也就是说,用户在前端浏览器看到的仅仅是ASP页的执行结果所生成的页,而ASP的页本身的内容用户在前端浏览是看不到的,因而ASP 源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

5.3.2 ASP页面的结构

ASP的程序代码简单通用,文件名由.asp结尾,ASP文件通常由四部分构成:

1.标准的HTML标记:所有的HTML标记均可使用。

2.ASP语法命令:位于<%%>标签内的ASP代码。

3.服务器端的包括语句:可用#包括语句调入其它ASP代码,增强了编程的灵活性。

4.脚本语言:ASP自带Jscript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl,Rexx等。

5.3.3 ASP提供的内置对象和组件

ASP提供了功能强大的六个内置对象和五个内置组件,利用这些对象和组件可以开发出非常完美的网络应用程序。

其中六个内置对象如下:

Request(请求):从前端用户取得信息。Request对象将客户端信息保存在某个指定的集合中,提供给ASP使用。通用的访问方法为:Request.Collection(“member name”)。当不指定集合名时,ASP将以Querystring、Form、Cookie、ServerVariable的顺序搜索所有集合,自动引用它找到的第一个匹配的变量。

Response(响应):将信息送给前端用户。Response对象可用来构建对信息的反馈。

Server(服务器):提供网络服务器工具。

Session(会话):储存在一次会话内的用户信息,仅被该用户访问

Application(应用):管理所有的会话信息,供所有用户共享

ObjectContext(对象上下文):提交或中止由ASP脚本启动的事务(IIS4.0新增)

ASP有五个主要的内建对象:Request,Response,Server,Session,Application。

5.4 ADO访问数据库

ADO(ActiveX Data Object即ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(Active Server Component),ADO通过在Web服务器上设定ODBC,可建立与多种数据库,如:SQL Server,Oracle,Informix,Access,VFP等建立连接。可以把它与ASP结合起来建立提供数据库信息的网页内容在网页画面执行SQL命令用户在浏览器页面中输人更新和删除Web服务器信息,由服务器对Web数据库进行相应的操作。

ADO的好处在于易于使用,高速,低内存开销,小磁盘空间占用。它为用户提供了连接任何兼容ODBC的数据库以及到建全功能数据库应用程序的能力。

要执行ADO,服务器端需要安装Windows NT Server和Internet Information Server(简称IIS),而客户端只要有IE浏览器即可。Web数据库访问的五种方法的实现大致可分为两类,一类是以Web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库进行操作;另一类是把应用程序和数据库下载到客户端,在客户端对数据库进行访问。

ADO中可用VBScript、JavaScript语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出;ADO中使用RecordSets对象对数据库进行操作。

图表7 ADO访问数据库示意图

第六章网上购物系统的设计

6.1功能模块的介绍

6.1.1用户模块

1. 浏览模块:包括浏览商品和店铺详细资料,和店主的资料、新闻信息、论坛等。

2. 注册登录模块:

会员注册:所有会员必需填写自己的详细资料,设置个人安全密码进行注册。

会员登录:已经注册了的会员和店主都可以在首页登录窗中登录,进入主页进行相应的操作。

3. 新闻信息模块: 用户可以查看最新新闻,了解站内情况.

4. 论坛模块:用户可以发表自己的意见,可以讨论相关的事

情,方便用户交流.

6.2数据库设计

根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据相和数据结构:

1.名称:会员数据表

标示:admin

如表所示,会员数据表包括ID、admin、password、loginNum typ、submit_Date、LestLogin等字段。

图8

2.名称:商品信息数据表

标示:goods-info

如表所示商品信息数据表包括Goods_ID、User_id、Good_name等字段。

图9

3.名称:新闻信息数据表:

标示:gonggao

如表所示新闻信息数据表包括i d、title、body、date、

如图所示论坛信息数据表包括

图11

6.3详细设计

6.3.1 用户登录模块的设计和实现

功能:如果用户是第一次登录,则需要注册。当用户在首页中选中“注册”一项是,进入该页面。当用户填写表单完成后,首先把填写的结果交给制定程序检查,在本例中采用的形式检查填写的结

果的合法性。如果填写结果合法,则将表单内容交给adduser.asp页面进行处理。用户填写的用户名唯一。将用户名唯一的用户信息写入数据库中。注册结果有两种,注册成功、注册不成功;如果不成功提示用户重新注册。

输入:会员帐号、你的性别、会员密码、确认密码、你的OICQ、密码问题、密码答案、选择学校、电子邮箱、真实姓名。

处理:

?验证输入的合法性。当用户单击提交按钮是首先有Jscript过程

checkuser()检查用户输入是否合法,如果不合法,则将输入结

果提交到adduser.asp页面处理。

?从form表单获取输入数据。数据验证合法后进入adduser.asp页

面,首先要从form表单中获取输入数据。

?检查用户名的唯一性。惟链接数据库,打开用户数据表。以输

入数据“用户名”为查询条件创建数据集查看输入用户名是否

存在。若已存在,则返回上一页,重新输入用户名;若不存在,

则进行插入操作。

?将用户信息输入到数据库中。使用Record对象中的AddNew方

法插入一条新记录。

输出:注册成功或注册失败页面。

1. 用户注册页面如下图所示:

图12

2. 模块所用的数据表。本页面使用了CSTUDY.mdb数据库中的

会员数据表。

3. 主要程序代码:

IF Trim(request("Submit"))<>empty Then

Dim Strsq1,Rs

Set Rs=Server.CreateObject("Adodb.Recordset")

Strsq1="SELECT user_name From [user_info] where user_name='"& request.Form("user_name") &"'"

Rs.open strsq1,conn,1,1

IF not rs.eof and not rs.bof Then

rs.close

set rs=nothing

conn.close

set conn=nothing

Call MsgBox("客服MM提醒您:您输入的帐号已被注册了","Back","None")

response.End()

ElseIF request.Form("password1")<>request.Form("password2") Then rs.close

set rs=nothing

conn.close

set conn=nothing

Call MsgBox("你两次输入的密码不一致","Back","None")

Response.End()

ElseIF Not isNumeric(request.Form("user_qq")) Then

rs.close

set rs=nothing

conn.close

set conn=nothing

Call MsgBox("客服MM提醒您:QQ号应为数字","Back","None") Response.End()

Else

rs.Close

rs.open "select * from [user_info]",conn,1,3

rs.addnew

rs("user_name")=request.form("user_name")

rs("user_sex")=request.form("user_sex")

rs("user_password")=MD5(encodestr(Request.Form("PassWord1")),16) rs("user_email")=request.form("user_email")

rs("user_qq")=request.form("user_qq")

rs("user_question")=request.form("user_question")

rs("user_answer")=request.form("user_answer")

rs("userface")=encodestr(request.Form("userface"))

rs("user_realname")=request.form("user_realname")

rs("font")=0

rs("xuexiao")=request.form("xuexiao")

rs.update

rs.close

set rs=nothing

conn.close

set conn=nothing

Call MsgBox("注册成功,请登陆","GoUrl","user_login.asp") Response.End()

End IF

rs.Close

Set rs=Nothing

conn.Close

Set conn=Nothing

End IF

从提交表三返回值,验证是否唯一,唯一则进行插入操作,成功后

给出提示,页面如图所示:

图13

注册不成功页面如图所示

图14

从提交表单返回值。连接数据库,以用户名为查询条件进行查询,

创建记录集。

要获取从客户端浏览器传递给服务器的数据,就需要使用ASP内置

的Request对象。使用Form集合可以检索在HTTP请求中通过

POST发放发生的表单控件的值,语法格式如下:

Request.Form(element);

其中参数e lement是指定集合要检索的表单控件的名称。

6.3.2 登录模块的设计与实现

功能:本页面中,在登录组件中输入帐号、密码、验证码后,Form

表单将数据传输到check.asp程序段进行处理,验证用户身份。成功则进入系统,否则重新输入。除此之外,还可以看到其他相关的详细资料的页面。

输入:帐号、密码、验证码。

处理:

?从Form表单中获取输入数据。当按下登录按钮后,输入的数据有

Form表单提交到check.asp页面。在check.asp页面首先要使用Request对象获取输入数据。

?判断是否为空,空则重新输入。已条件语句判断输入是否为空,为

空则进行脚本语言,显示出错提示框,将页面导向首页,重新输入;

若不为空,则进行数据库链接。

?检索用户数据表,查看用户是否从在。使用ODBC方法连接数据库,

根据用户不同的登录身份,打开不同的数据库。以用户名为检索条件,查看用户是否存在。存在则将该用户访问次数加一,进入系统;

若不存在,给出出错提示,返回首页重新输入,或进行注册。

输出:登录成功或失败页面。

1. 用户登录页面如图所示:

图13

图15

本页面主要有两个功能:一个是用户登录,一个是用户注册。用户登录会分成两种身份,会员和店主。不同的身份会进入不同的页面。

2. 模块所使用的数据表。本页使用了admin.mdb数据库中的会员、店

主两个数据表,如下:

图14

图16

3. 模块的ASP代码。本页面中,在登录组件中输入帐号、密码和验证

码后,Form表单将数据传送到check.asp程序段进行处理,验证用户身份。成分则进入系统;否则,重新输入。

4. 用户可以在后台进行密码修改或者是找回密码。

5. 主要程序代码:

登录:

if request("username")="" then

response.write "