资源描述
计算机网络设计汇报
题 目 购物网站设计和实现
学生姓名
学 号
学 院 计算机和软件学院
专 业 软件工程
指导老师
二O一六 年 六 月 十 六 日
目录
1、引言 2
1.1购物网站现实状况 2
1.2设计目标 2
1.3设计思绪和内容 2
2、系统开发关键技术研究 3
2.1 ASP介绍 3
3、配置Microsoft IIS 4
4、ASP脚本语言 5
2.2动态网页开发工具Dreamweave介绍 5
2.3系统数据库介绍 5
2.3.1数据库概念 5
2.3.2 MICROSOFT SQL SERVER介绍 6
3、网站设计 6
3.1需求分析 6
3.1.1系统功效分析 6
3.2数据库设计 7
3.2.1数据库概念设计 7
3.2.2数据库表介绍 8
3.2.3建立数据库连接 11
4、具体设计 13
4.1系统模块程序流图 13
4.2系统模块需求分析 14
5、 系统实现 14
5.1登录界面 14
5.2浏览界面 18
5.3购物车界面 20
5.4订单界面 22
购物网站设计
1、引言
1.1购物网站现实状况
伴随互联网普及和发展,含有开放性、国际性、实时性、互动性、便捷性及低成本特点电子商务——“永不关门”商场,将是企业和个人最终选择。经济市场化和全球化和互联网普使电子商务迅猛发展。越来越多商家开始建造自己购物网站,向消费者展示出一片新鲜购物大地。依据中国现实状况,地大宽广使得网上购物愈加频繁,这就使得购物网站必需性愈加凸显。
1.2设计目标
满足日益增加网络购物现实状况,能够展示一个简便、快捷网络购物界面,使得网购更简单、方便,适适用于更多人群。伴伴随电子商务技术不停成熟,电子商务功效也越来越强大,注册用户能够在网上搜索购置到自己想要多种商品,初步让大家体会到了足不出户,便可随意购物快感。
1.3设计思绪和内容
依据目前网络运行状态和百姓消费形式,需要建立起动态服务网站。动态服务器网页(Active Server Pages),由微软企业开发服务器端运行脚本平台,它被Windows下Internet Information Services (IIS)程序所管理。经过ActiveX server 技术让不一样用户能有不一样画面,或需要让她们能够访问服务器 (server)上数据时,使用ASP3.0中提供了五个自带对象创建模拟和安全性动态内容,来帮助程序员隐藏复杂沟通机制,让程序员能够专注在处理问题和应用之上,这么能够愈加快速地开发动态网页同时每一个组件全部是能够由一组富有经验程序员依据动态网页最常见功效而独立开发。本网站应用了网页设计工具Dreamweaver,使用ASP作为开发工具,Microsoft Visual Studio作为后端程序编程平台,并采取Microsoft SQL server数据库构建了一个能实现简单小型动态购物网站。该系统能实现游客浏览网站,用户注册、登录、浏览网站,下订单购置商品,处理订单,系统基础上含有一个网上商品销售系统应该含有功效,该设计项目基础上表现了构建一个动态商务网站所需要技术。
2、系统开发关键技术研究
2.1 ASP介绍
ASP(Active Server Pages)实质是一个服务器端脚本环境。ASP脚本展现将在服务器端运行。用户端只要使用可实施HTML代码浏览器,即可浏览经过ASP设计出来页面内容。当程序实施完后,服务器仅将实施结果返回给用户端浏览器,这么也就减轻了用户端浏览器负担,大大提升了交互速度。
ASP隐藏了网页服务器和浏览者之间沟通繁琐机制同时也基于script base特征,网页撰写员能够用心撰写应用程序逻辑部份,再者ASP也像 HTML 般经过撰写程序来实时测试网页是否安全地运行,而无须担心程序和服务器不能沟通问题,另外因为那些 script 是于发送前于服务器中先行转译处理成为HTML后再而发送至代理服务器边动态网页技术,无须担心浏览器支持性及网页撰写员程序逻辑像 client-side script 会被盗用,所以最终浏览者只会是使用 HTML 来浏览。
利用ASP程序最常见是Cookies,它利用Session组件实现。同时还能够利用第三方组件延伸ASP作用,如利用MailSender组件发送电子邮件。
经过ASP我们能够结合HTML网页、ASP指令和ActiveX组件创建动态、交互且高效WEB服务器应用程序。同时,ASP也支持VBScript和JScript等脚本语言,默认为VBScript。其中JScript是微软企业ECMAScript标准实现,而且有自己扩展。
ASP对 COM 支持会许可撰写员使用 server component(或OLE Automation server)。经过它撰写员能够发展自已对象,或将把程序转成 Web-base 接口。
状态管理是ASP关键功效之一,原因为HTTP是一个stateless协议,当有匿名 request进入时,浏览者无法识别这些request 是否安全,或那些request 之间关连性时,便无法经过浏览者取得信息如帐户及密码等,对交易特征 Web 应用程序造成了阻碍。所以ASP经过 cookie包装和使用让浏览者能够简单地管理众多用户名称不一样状态。
1、ASP5大组件:
l Application:在一个 ASP-based application 让不一样用户共享信息。
l Request:从用户处理取得信息
l Response:将信息送给用户
l Server:提供部分 Web Server 工具
l Session:存放在一个 session 内用户信息
能够把这些对象看作是基于ObjectContext对象一个层次关系组员,这有利于了解它们和接收和响应用户请求过程之间关系,图2-1所表示。图中表现了ASP和创建及服务于ASP页过程之间关系。
图2-1 B/S图
2、 ASP原理:
ASP是经过服务器解析以后再向网页浏览器返回数据,所以有了ASP就无须担心用户浏览器是否能运行你所编写代码。因为全部程序全部将在网页服务器端实施,包含全部嵌在一般HTML中脚本程序。当程序实施完成后,服务器仅将实施结果返回给用户浏览器,这么也就减轻了用户端浏览器负担,大大提升了交互速度。
因为代码是需要经过服务器实施以后才向浏览器发送,所以在用户端看到只能是经过解析以后数据,而无法取得源代码,故编写者不用担心自己源代码会被她人剽窃。但不排除黑客利用系统漏洞窃取服务器端ASP源代码。
基于这么解析方法,也造成运行ASP页面相对于一般HTML页面要慢一点。因为一般HTML页面只需要浏览器就能够解析,而ASP则必需是服务器将整页代码全部实施一遍以后再发送数据。
ASP提供和数据库交互,如Microsoft SQL Server、Microsoft Access、MySQL和Oracle,比较流行是ASP和Microsoft SQL Server组合。
3、配置Microsoft IIS
a、IIS是怎样工作
IIS是许可在公共Intranet或Internet上公布信息Web服务器。IIS(Internet Information Server)ASP开发依靠于IIS,IIS可在多个平台上运行:WindowsXP,Windows全系列包含Professional、server、Advanced Server三个版本,WindowsNT Server和Windows98上Personal Web Server(PWS)等平台上全部能够。Web是基础请求和响应系统。Web浏览器经过将URL发送给Web服务器请求信息。Web服务器经过返回超文本标识语言(HTML)页面响应。
b、 安装IIS
我安装是WindowsXP Professional版本,所以以WindowsXP Professional版来介绍IIS安装方法。
(1) 在控制面版中选择“添加/删除程序”
(2) 点击“添加/删除Windows组件”
(3) 确定只选中第一项Internet信息服务(IIS),然后点击下一步即可自行进行安装。
(4) 系统配置安装完成后,就会弹出一个安装“完成”对话框来提醒安装完成,只关键点击“完成”即可。这么IIS安装完成。
4、ASP脚本语言
在这里我们会了解到HTML语言、VBscript和Jscript脚本语言。
a、 HTML语言
HTML文件由浏览器解释,经过网络传输协议,能够从一台机器传输到另一台机器上。
b、 VBscript语言
VBScript既能够作为用户端编程语言,也能够作为服务器端编程语言。用户端编程语言是能够由浏览器解释实施语言。
c、JScript语言
JScript能够作为服务器端编程语言,也能够作为用户端编程语言。
因为JScript不是ASP默认脚本语言,所以要使用时必需事先申明,如:
<Script language=”JavaScript”>
</Script>
语句<Script >…</Script>在这里申明使用JScript。
2.2动态网页开发工具Dreamweave介绍
Adobe Dreamweaver,简称“DW”,汉字名称 "梦想编织者",是美国MACROMEDIA企业开发集网页制作和管理网站于一身所见即所得网页编辑器,DW是第一套针对专业网页设计师尤其发展视觉化网页开发工具,利用它能够轻而易举地制作出跨越平台限制和跨越浏览器限制充满动感网页。Adobe Dreamweaver使用所见即所得接口,亦有HTML(标准通用标识语言下一个应用)编辑功效。它有Mac和Windows系统版本。随Macromedia被Adobe收购后,Adobe也开始计划开发Linux版本Dreamweaver了。
2.3系统数据库介绍
2.3.1数据库概念
数据库是以数据(数据就是对客观事物符号表示,是存放在计算机中模拟客观事物一系列信息。对于计算机科学而言,数据含义极为广泛,通常可存放信息,如文本、图像、声音等全部能够经过二进制编码而形成数据)为对象,指指为了满足某种特定应用需要,根据一定数据模型在计算机系统中组织、存放和使用数据数据集合。数据库系统是管理大量、持久、可靠和共享数据工具。数据库有以下特点:
1.集成性:数据有两层含义,一个是数据本身,一个是数据之间关系。集成就是指把数据集中到一起来,根据一定结构形式进行存放,并经过一系列机制约束数据之间关系,避免数据反复或不合要求。
2.量大性:数据库中存放数据量通常全部比较庞大,不能同时在内存中全部调用,而只能经过外部存放器存放,通常使用大容量可移动磁盘或硬盘等设备。
3.共享性:指多个不一样用户,为了不一样目标,能够使用不一样语言,经过不一样方法,访问同一个数据库,而访问范围、可实施操作会有所区分。数据库系统会提供对应机制,确保这种共享在有序条件下进行,能够避免因为同时而造成错误。
4.持久性:通常来说,数据库中式数据全部需要长久保留。
2.3.2 MICROSOFT SQL SERVER介绍
SQL Server 是Microsoft 企业推出关系型数据库管理系统。含有使用方便可伸缩性好和相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 膝上型电脑到运行Microsoft Windows 大型多处理器服务器等多个平台使用。Microsoft SQL Server 是一个全方面数据库平台,使用集成商业智能 (BI)工具提供了企业级数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠存放功效,使您能够构建和管理用于业务高可用和高性能数据应用程序。
3、网站设计
3.1需求分析
3.1.1系统功效分析
本系统是一个小型电子商务系统购物,能够为用户提供方便在线购物环境。用户能够在系统中实现注册、浏览商品、下订单、处理订单等功效网站组成由以下多个子系统组成:
1.主页,显示欢迎界面,提供近期商品。
2. 购物车,处理订购并显示想要订购商品。
3.订单处理,修改用户订单。
4.用户注册系统,处理新用户注册和老用户购物时确实定。
3.2数据库设计
本系统数据库功效关键是存放网站中全部数据,方便进行操作。
本系统数据库文件名为demobook.mdf,保留在系统文件demobook子目录中。关键由users、product、orders、orderdetail四个表组成。
3.2.1数据库概念设计
经过对购物网站功效及数据流图分析,设计以下数据项和数据结构,并得到以下系统实体—联络图,即E—R图:
l 用户信息,包含数据项有:编号、用户名、密码、地址、邮件、电话号码,用户实体图图3.1所表示。
图3.1 用户信息E-R图
l 商品信息,包含数据项有:编号、名称、显示图片、价格、库存量、折扣,商品实体图图3.2所表示。
图3.2商品信息E-R图
l 订购信息,包含数据项有:编号、订单号、用户名、时间、价格,订购实体图图3.3所表示。
图3.3 订购信息E-R图
l 订单信息,包含数据项有:编号、订单号、支付时间、价格、用户名、地址、送货方法、支付方法、订购时间,订单实体图图3.4所表示。
图3.4 订单信息E-R图
3.2.2数据库表介绍
● users
该表比较简单,关键用来存放用户名帐号和密码和用户信息,该表结构如表3-1所表示:
表3-1 数据表“users”结构
字段名
描述
类型
长度
是否空
是否主键
UserID
编号
int
否
是
UserName
用户名
varchar
50
是
否
UserPass
密码
varchar
50
是
否
UserPhone
电话号码
varchar
50
是
否
UserEmail
邮件
varchar
50
是
否
UserAddress
地址
varchar
50
是
否
● product
该表存放了商品信息,该表结构如表3-2所表示:
表3-2 数据表“product”结构
字段名
描述
类型
长度
是否空
是否主键
ProID
编号
int
否
是
ProTitle
名称
varchar
50
是
否
ProUrl
图片
text
是
否
Price
价格
varchar
50
是
否
ProAccount
存货
int
是
否
Discount
折扣
decimal
10,1
是
否
● orders
该表存放了订购信息,该表结构如表3-3所表示:
表3-3 数据表“orders”结构
字段名
描述
类型
长度
是否空
是否主键
Id
编号
int
否
是
OrderID
订单号
varchar
50
是
否
UserName
用户名
varchar
50
是
否
OrderTime
订购时间
varchar
50
是
否
PayTotal
价格
varchar
50
是
否
● orderdetail
该表存放了用户定单资料,该表结构如表3-4所表示:
表3-4 数据表“orderdetail”结构
字段名
描述
类型
长度
是否空
是否主键
ID
编号
int
否
是
OrderID
订单号
varchar
50
是
否
PayTime
支付时间
varchar
50
是
否
PayTotal
价格
varchar
50
是
否
UserName
用户名
varchar
50
是
否
Address
地址
text
是
否
TranslateTypeName
支付方法
varchar
50
是
否
PayTypeName
送货方法
varchar
50
是
否
OrderDetailTime
订购时间
varchar
50
是
否
3.2.3建立数据库连接
<?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还能够使用
Web 管理工具来配置应用程序设置。能够使用 Visual Studio 中
“网站”->“Asp.Net 配置”选项。
设置和注释完整列表在
ments 中,该文件通常在
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings>
<add key="ConstrSQL" value="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\demoBook.mdf;;Integrated Security=True;User Instance=True"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译页面中。但因为这会
影响性能,所以只在开发过程中将此值
设置为 true。
-->
<compilation debug="true" targetFramework="4.0">
</compilation>
<!--
经过 <authentication> 节能够配置 ASP.NET 用来
识别进入用户
安全身份验证模式。
-->
<authentication mode="Windows"/>
<!--
假如在实施请求过程中出现未处理错误,
则经过 <customErrors> 节能够配置对应处理步骤。具体说来,
开发人员经过该节能够配置
要显示 html 错误页
以替换错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
<!--
在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer
节。对早期版本 IIS 来说则不需要此节。
-->
</configuration>
4、具体设计
4.1系统模块程序流图
本系统模块设计 ,其关键功效程序流图,图4-1所表示:
首页
登录
用户注册
正当
用户
选择商品
购置商品
付款
修改订单
Y
N
N
Y
订单
确定
图4-1系统模块程序流图
4.2系统模块需求分析
网上商店需求,由用户、管理人员两方面。电子商务网站可简单划分为2个部分,图4-2所表示:
主 页
用 户
管理人员
图4-2 系统模块分析图
5、 系统实现
5.1登录界面
图5.1登陆界面
ASP代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="shop_login" Debug ="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
<title>无标题页</title>
<link href="css.css" type ="text/css" rel="Stylesheet" />
<style type="text/css">
.style1
{
width: 49%;
}
.style2
{
text-align: center;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="body">
<table align="center" class="style1">
<tr>
<td class="style2" colspan="2">
系统登录</td>
</tr>
<tr>
<td class="style2">
用户名:</td>
<td>
<asp:TextBox ID="txtUser" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
<div id="gt-res-content" class="almost_half_cell">
<div dir="ltr" style="ZOOM: 1">
<span id="result_box" class="short_text">
<span onmouseout="this.style.backgroundColor='#fff'"
onmouseover="this.style.backgroundColor='#ebeff9'"
style="BACKGROUND-COLOR: #fff" title="用户密码">密码:</span></span></div>
</div>
</td>
<td>
<asp:TextBox ID="txtPsd" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
</td>
<td>
<asp:Button ID="btnLogin" runat="server" onclick="btnLogin_Click"
Text="登录" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="注册" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
控件代码:
private static SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConstrSQL"]);
protected void btnLogin_Click(object sender, EventArgs e)
{
try
{
string strTxtName1 = SqlHelper.Query("select * from [Users] where UserName='" + txtUser.Text + "'and UserPass='" + txtPsd.Text + "'").Rows[0][1].ToString();
}
catch
{
Page.RegisterStartupScript("mm", "<script>alert('登陆失败!');location.href='login.aspx'</script>");
return;
}
// SqlCommand cmd = new SqlCommand("select * from [Users] where UserName='" + txtUser.Text + "'and UserPass='" + txtPsd.Text + "'",conn );
string strTxtName = SqlHelper.Query("select * from [Users] where UserName='" + txtUser.Text + "'and UserPass='" + txtPsd.Text + "'").Rows[0][1].ToString();
string strTxtPass= SqlHelper.Query("select * from [Users] where UserName='" + txtUser.Text + "'and UserPass='" + txtPsd.Text + "'").Rows[0][2].ToString();
if (strTxtName == txtUser.Text&&strTxtPass==txtPsd .Text )
{
Session["username"] = txtUser.Text;
Response.Redirect("index.aspx");
}
else
{
Page.RegisterStartupScript("mm", "<script>alert('登陆失败!');location.href='login.aspx'</script>");
return;
}
}
图5.2登录界面
ASP代码:
<html xmlns="">
<head runat="server">
<title></title>
</head>
<body>
<p>注册用户</p>
<form id="form1" runat="server">
<p>用户名:<asp:TextBox ID="Textname" runat="server"></asp:TextBox>
</p>
<p>密码:<asp:TextBox ID="Textpass" runat="server"></asp:TextBox>
</p>
<p>电话号码:<asp:TextBox ID="Textphone" runat="server"></asp:TextBox>
</p>
<p>邮箱:
<asp:TextBox ID="Textmail" runat="server"></asp:TextBox>
</p>
<p>地址:
<asp:TextBox ID="Textaddr" runat="server"></asp:TextBox>
</p>
<p><asp:Button ID="button" runat="server" Text="注册" onclick="button_Click" /> </p>
<div>
</div>
</form>
</body>
</html>
5.2浏览界面
图5.3浏览界面
ASP代码:
<html xmlns="">
<head runat="server">
<title>无标题页</title>
<style type="text/css">
.style1
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal">
<ItemTemplate> <table class="style1">
<tr>
<td>
<img src='../<%#Eval("ProUrl") %>' width="160px" height ="130px" /></td>
</tr>
<tr>
<td>
价格:<%#Eval("Price","{0:c}")%></td>
</tr>
<tr>
<td>
折扣:<%#Eval("Discount")%>
</td>
</tr>
<tr>
<td>
<a href='Cart.aspx?ProID=<%#Eval("ProID") %>'>立即购置</a></td>
</tr>
</table></ItemTemplate>
</asp:DataList>
</div>
</form>
<a href ="Cart.aspx">查看购物车</a></body>
</html>
5.3购物车界面
图5.4购物车界面
ASP代码:
<html xmlns="">
<head runat="server">
<title>购物车</title>
</head>
<body>
<form id="form1" runat="server">
<div style="font-size:12px; line-height :25px">
<asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="#FF3300"></asp:Label>
<asp:GridView ID="gvOrder" runat="server" AutoGenerateColumns="False"
DataKeyNames="ProID" OnRowDataBound="gvOrder_RowDataBound"
OnRowDeleting="gvOrder_RowDeleting" Width="508px">
<RowStyle HorizontalAlign="Center" />
<Columns>
<asp:BoundField DataField="ProID" HeaderText="商品编号" />
<asp:BoundField DataField="ProTitle" HeaderText="商品名称" />
<asp:BoundField DataField="Price" HeaderText="商品单价"
HtmlEncode="false"
展开阅读全文